Java程式碼向指定的WebHook傳送訊息
阿新 • • 發佈:2018-11-02
1.我們通過Java來向某個WebHook地址傳送POST請求,並攜帶我們需要傳送的訊息
2.程式碼示例
搭建Maven專案,在pom.xml
檔案裡引入httpclient依賴
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.3</version>
</dependency>
以下是java程式碼
package com.demo;
import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
public class ChatbotSend {
//WebHook地址xxx
public static String WEBHOOK_TOKEN = "xxx";
public static void main(String args[]) throws Exception {
HttpClient httpclient = HttpClients.createDefault();
HttpPost httppost = new HttpPost(WEBHOOK_TOKEN);
httppost.addHeader ("Content-Type", "application/json; charset=utf-8");
//構建一個json格式字串textMsg,其內容是接收方需要的引數和訊息內容
String textMsg = "{\"msgtype\":\"text\",\"text\":{\"content\":\"你好,我是機器人\"},\"at\":{\"atMobiles\":[\"xxx\"],\"isAtAll\":false}}";
StringEntity se = new StringEntity(textMsg, "utf-8");
httppost.setEntity(se);
HttpResponse response = httpclient.execute(httppost);
if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
String result = EntityUtils.toString(response.getEntity(), "utf-8");
System.out.println(result);
}
}
}
執行main
方法即可傳送訊息