基于java使用钉钉机器人向钉钉群推送消息
这篇文章主要介绍了基于java使用钉钉机器人向钉钉群推送消息,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
packagecom.thinkgem.wlw.modules.lhjh.DingTalk;
importcom.alibaba.fastjson.JSON;
importorg.slf4j.Logger;
importorg.slf4j.LoggerFactory;
importjava.io.*;
importjava.net.URL;
importjava.net.URLConnection;
importjava.util.HashMap;
importjava.util.Map;
importjava.util.Map.Entry;
/**
*@Author:zhouhe
*@Date:2019/6/2014:49
*/
publicclassSendHttps{
privatestaticLoggerlogger=LoggerFactory.getLogger(SendHttps.class);
/**
*发送POST请求,参数是Map,contentType=x-www-form-urlencoded
*
*@paramurl
*@parammapParam
*@return
*/
publicstaticStringsendPostByMap(Stringurl,MapmapParam){
MapheadParam=newHashMap();
headParam.put("Content-type","application/json;charset=UTF-8");
returnsendPost(url,mapParam,headParam);
}
/**
*向指定URL发送POST方法的请求
*
*@paramurl发送请求的URL
*@paramparam请求参数,
*@return所代表远程资源的响应结果
*/
publicstaticStringsendPost(Stringurl,Mapparam,MapheadParam){
PrintWriterout=null;
BufferedReaderin=null;
Stringresult="";
try{
URLrealUrl=newURL(url);
//打开和URL之间的连接
URLConnectionconn=realUrl.openConnection();
//设置通用的请求属性请求头
conn.setRequestProperty("accept","*/*");
conn.setRequestProperty("connection","Keep-Alive");
conn.setRequestProperty("user-agent",
"Fiddler");
if(headParam!=null){
for(Entryentry:headParam.entrySet()){
conn.setRequestProperty(entry.getKey(),entry.getValue());
}
}
//发送POST请求必须设置如下两行
conn.setDoOutput(true);
conn.setDoInput(true);
//获取URLConnection对象对应的输出流
out=newPrintWriter(conn.getOutputStream());
//发送请求参数
out.print(JSON.toJSONString(param));
//flush输出流的缓冲
out.flush();
//定义BufferedReader输入流来读取URL的响应
in=newBufferedReader(
newInputStreamReader(conn.getInputStream()));
Stringline;
while((line=in.readLine())!=null){
result+=line;
}
}catch(Exceptione){
logger.info("发送POST请求出现异常!"+e);
e.printStackTrace();
}
//使用finally块来关闭输出流、输入流
finally{
try{
if(out!=null){
out.close();
}
if(in!=null){
in.close();
}
}catch(IOExceptionex){
ex.printStackTrace();
}
}
returnresult;
}
}
第三步,编写测试类
packagecom.thinkgem.wlw.modules.lhjh.DingTalk;
importjava.util.HashMap;
importjava.util.Map;
/**
*@Author:zhouhe
*@Date:2019/6/2014:52
*/
publicclassSendMessage{
publicstaticvoidmain(String[]args){
//钉钉的webhook
StringdingDingToken="https://oapi.dingtalk.com/robot/send?access_token=0f0daca33m98gn78f00189fe1e1e908b81fa26d0d8ddd48fa78a844cd8636187";
//请求的JSON数据,这里我用map在工具类里转成json格式
Mapjson=newHashMap();
Maptext=newHashMap();
json.put("msgtype","text");
text.put("content","临涣焦化:VOCs排放浓度大于上限:61.89");
json.put("text",text);
//发送post请求
Stringresponse=SendHttps.sendPostByMap(dingDingToken,json);
System.out.println("相应结果:"+response);
}
}
测试结果如下:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。