企业微信聊天机器人demo

import java.io.IOException;

import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;

import com.test.utils.LogUtil;

/**  
 * 

Title:QyWxMsgUtil

   *

Description: 企业微信机器人工具类

   *   * @author admin  * @date 2019年10月8日    */ public class QyWxMsgUtil {     private static final LogUtil logger = LogUtil.getLogUtil(QyWxMsgUtil.class);          public static void main(String[] args) {         String webHookUrl="聊天机器人的地址";         Integer titleLevel=0;         String title="这是标题啊";         String content="这是内容";         sendQyWxTextMsg(webHookUrl, titleLevel, title, content);     }          /**        *      *

Title: sendQyWxTextMsg

       *      *

Description: 发送企业微信机器人文本内容

       *      * @param webHookUrl      * @param titleLevel 标题颜色:默认为green;1为yellow;2为red;      * @param title      * @param content      * @return        *      */     public static boolean sendQyWxTextMsg(String webHookUrl,Integer titleLevel,String title,String content ){         boolean result=false;         String requestData = getRequestData(titleLevel, title, content);         String resp = post(webHookUrl, requestData);         logger.info("发送企业微信:返回结果:{0}", resp);         if (resp!=null && resp.contains("ok")) {             result=true;         }         return result;              }     /**        *      *

Title: getRequestData

       *      *

Description: 包装请求参数

       *      * @param titleLevel      * @param title      * @param content      * @return        *      */     public static String getRequestData(Integer titleLevel, String title, String content) {         StringBuilder bd=new StringBuilder();         String titleLevelStr="info";//green         if (titleLevel!=null) {             if (titleLevel==1) {                 titleLevelStr="comment";//yellow             }else if (titleLevel==2) {                 titleLevelStr="warning";//red             }         }         bd.append("{\r\n");          bd.append("\"msgtype\": \"markdown\",\r\n");          bd.append("\"markdown\": {\r\n");         bd.append("\"content\": \"");         bd.append(title);         bd.append("\r\n");          bd.append(content);         bd.append("\"}\r\n");         bd.append("}");         return bd.toString();     }          /**        *      *

Title: post

       *      *

Description: 发送post请求

       *      * @param url      * @param content      * @return        *      */     public static String post(String url, String content) {         String str = null;         CloseableHttpClient hc = HttpClients.createDefault();         try{             HttpPost req = new HttpPost(url);             StringEntity entity = new StringEntity(content, "UTF-8");             req.setEntity(entity);             CloseableHttpResponse rep = hc.execute(req);             try{                 str = EntityUtils.toString(rep.getEntity(), "UTF-8");             }finally{                 rep.close();             }         }catch(Exception e){             logger.error(e, "http post error : url={0},content={1}", url, content);         }finally{             try {                 hc.close();             } catch (IOException e) {                 logger.error(e, "http client close error : url={0},content={1}", url, content);             }         }         return str;     } }

 

你可能感兴趣的:(笔记,demo)