1. 程式人生 > >Java程式碼向指定的WebHook傳送訊息

Java程式碼向指定的WebHook傳送訊息

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方法即可傳送訊息