首页 > 开发 > Java > 正文

基于java使用钉钉机器人向钉钉群推送消息

2020-07-28 13:57:17
字体:
来源:转载
供稿:网友

这篇文章主要介绍了基于java使用钉钉机器人向钉钉群推送消息,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

第一步、登录钉钉电脑版,获得钉钉机器人的webhook;

第二步,用java发送post请求给钉钉完成消息推送

package com.thinkgem.wlw.modules.lhjh.DingTalk;import com.alibaba.fastjson.JSON;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import java.io.*;import java.net.URL;import java.net.URLConnection;import java.util.HashMap;import java.util.Map;import java.util.Map.Entry;/** * @Author: zhouhe * @Date: 2019/6/20 14:49 */public class SendHttps {  private static Logger logger = LoggerFactory.getLogger(SendHttps.class);  /**   * 发送POST请求,参数是Map, contentType=x-www-form-urlencoded   *   * @param url   * @param mapParam   * @return   */  public static String sendPostByMap(String url, Map<String, Object> mapParam) {    Map<String, String> headParam = new HashMap();    headParam.put("Content-type", "application/json;charset=UTF-8");    return sendPost(url, mapParam, headParam);  }  /**   * 向指定 URL 发送POST方法的请求   *   * @param url  发送请求的 URL   * @param param 请求参数,   * @return 所代表远程资源的响应结果   */  public static String sendPost(String url, Map<String, Object> param, Map<String, String> headParam) {    PrintWriter out = null;    BufferedReader in = null;    String result = "";    try {      URL realUrl = new URL(url);      // 打开和URL之间的连接      URLConnection conn = realUrl.openConnection();      // 设置通用的请求属性 请求头      conn.setRequestProperty("accept", "*/*");      conn.setRequestProperty("connection", "Keep-Alive");      conn.setRequestProperty("user-agent",          "Fiddler");      if (headParam != null) {        for (Entry<String, String> entry : headParam.entrySet()) {          conn.setRequestProperty(entry.getKey(), entry.getValue());        }      }      // 发送POST请求必须设置如下两行      conn.setDoOutput(true);      conn.setDoInput(true);      // 获取URLConnection对象对应的输出流      out = new PrintWriter(conn.getOutputStream());      // 发送请求参数      out.print(JSON.toJSONString(param));      // flush输出流的缓冲      out.flush();      // 定义BufferedReader输入流来读取URL的响应      in = new BufferedReader(          new InputStreamReader(conn.getInputStream()));      String line;      while ((line = in.readLine()) != null) {        result += line;      }    } catch (Exception e) {      logger.info("发送 POST 请求出现异常!" + e);      e.printStackTrace();    }    //使用finally块来关闭输出流、输入流    finally {      try {        if (out != null) {          out.close();        }        if (in != null) {          in.close();        }      } catch (IOException ex) {        ex.printStackTrace();      }    }    return result;  }}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表