Using nail robot to push message to nail group based on Java

This article mainly introduces the use of nail robot to push messages to nail groups based on Java. The example code is introduced in great detail, which has certain reference value for everyone's study or work. Friends in need can refer to it

The first step is to log in to the nailing computer version and obtain the webhook of the nailing robot;

The second step is to send a post request to the nail in Java to complete the message push

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,Object> param,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;
  }
}

The third step is to write a test class

package com.thinkgem.wlw.modules.lhjh.DingTalk;

import java.util.HashMap;
import java.util.Map;

/**
 * @Author: zhouhe
 * @Date: 2019/6/20 14:52
 */
public class SendMessage {
  public static void main(String[] args){

    // 钉钉的webhook
    String dingDingToken="https://oapi.dingtalk.com/robot/send?access_token=0f0daca33m98gn78f00189fe1e1e908b81fa26d0d8ddd48fa78a844cd8636187";
    // 请求的JSON数据,这里我用map在工具类里转成json格式
    Map<String,Object> json=new HashMap();
    Map<String,Object> text=new HashMap();
    json.put("msgtype","text");
    text.put("content","临涣焦化:VOCs排放浓度大于上限:61.89");
    json.put("text",text);
    // 发送post请求
    String response = SendHttps.sendPostByMap(dingDingToken,json);
    System.out.println("相应结果:"+response);

  }
}

The test results are as follows:

@H_ 403_ 58@

The above is the whole content of this article. I hope it will help you in your study, and I hope you will support us a lot.

The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
分享
二维码
< <上一篇
下一篇>>