基于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){ Map headParam=newHashMap(); headParam.put("Content-type","application/json;charset=UTF-8"); returnsendPost(url,mapParam,headParam); } /** *向指定URL发送POST方法的请求 * *@paramurl发送请求的URL *@paramparam请求参数, *@return所代表远程资源的响应结果 */ publicstaticStringsendPost(Stringurl,Map param,Map headParam){ 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(Entry entry: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(); Map text=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(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。