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方法即可发送消息

猜你喜欢

转载自blog.csdn.net/neulily2005/article/details/83583761