相关链接
https://work.weixin.qq.com/api/doc/90000/90136/91770
频率限制每分钟20条,适合触发较少的场景.
//直接撸代码
public class QyWxMsgUtil {
private static String MSGURL="https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=机器人的key";
private static String MSG="<font color=\"warning\">{%s}</font>,hhh!\n> 创建时间: <font color=\"comment\">%s</font>";
public static Map sendRfqMsg(String content) throws Exception{
return sendMsg(String.format(MSG,content, "2020-03-11 12:12:12")));
}
public static Map sendMsg(String content) throws Exception{
HashMap headers = new HashMap();
headers.put("Content-Type", "application/json");
HashMap param = new HashMap();
param.put("content",content);
E body = new E();
body.put("msgtype", "markdown");
body.put("markdown", param);
String bodyStr = JsonUtil.writeValueAsString(body);
Map result = OkHttpUtils.sendPost(MSGURL,bodyStr,headers);
if (!StringUtils.equals("0",result.get("errcode").toString())){
System.out.println("fail request");
result = sendPost(MSGURL,bodyStr,headers);
}
return result;
}
public static Map sendPost(String url, String body,Map<String,String> headers) throws Exception {
PrintWriter out = null;
BufferedReader in = null;
String result = "";
int statusCode = 200;
try {
URL realUrl = new URL(url);
URLConnection conn = realUrl.openConnection();
Iterator iterator = headers.entrySet().iterator();
while(iterator.hasNext()) {
Map.Entry query = (Map.Entry)iterator.next();
conn.setRequestProperty((String)query.getKey(), query.getValue().toString());
}
conn.setDoOutput(true);
conn.setDoInput(true);
out = new PrintWriter(conn.getOutputStream());
out.print(body);
// System.out.println("【请求参数:】"+body);
// System.out.println("【请求头部:】"+headers);
out.flush();
statusCode = ((HttpURLConnection)conn).getResponseCode();
if(statusCode != 200) {
in = new BufferedReader(new InputStreamReader(((HttpURLConnection)conn).getErrorStream()));
} else {
in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
}
String line;
while ((line = in.readLine()) != null) {
result += line;
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (out != null) {
out.close();
}
if (in != null) {
in.close();
}
} catch (IOException ex) {
ex.printStackTrace();
}
}
if (statusCode != 200) {
throw new IOException("\nHttp StatusCode: "+ statusCode + "\nErrorMessage: " + result);
}
// System.out.println("【sendPost返回结果:】" + result);
if(StringUtils.isEmpty(result)){
return null;
} else {
return JsonUtil.convertJson(result,Map.class);
}
}
3089

被折叠的 条评论
为什么被折叠?



