go-cqhttp 机器人使用教程

API | go-cqhttp 帮助中心

参考 | go-cqhttp 帮助中心

机器人下载

发送消息

http://127.0.0.1:5700/send_msg?message_type=private&user_id=911412667&message=你好呀

检查端口是否打开

netstat -ano | findstr :5701

发送的请求

软件的dopost的解析

java 复制代码
  @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // 设置编码格式
        System.out.println("你好呀我获取了数据");
        request.setCharacterEncoding("UTF-8");
//        response.setContentType("text/json; charset=utf-8"); //设置编码格式和数据类型
        response.setHeader("Content-Type", "application/json;charset=UTF-8");


        // 获取请求体中的数据
        BufferedReader reader = new BufferedReader(new InputStreamReader(request.getInputStream(),StandardCharsets.UTF_8)); //第一种方式
//        String requestBody = IOUtils.toString(request.getInputStream(), String.valueOf(StandardCharsets.UTF_8));//第二种方式
//        System.out.println("错误乱码检查:"+requestBody);


        String jsonStr = "";
        String line = null;
        while ((line = reader.readLine()) != null) {
            jsonStr += line;
        }
        System.out.println(jsonStr);

//        // 解析JSON格式的数据
//        Gson gson = new Gson();
//        Message message = gson.fromJson(jsonStr, Message.class);
//
//        // 输出解析结果
//        System.out.println(message.getMessage());


    }

需要的jar包

commons的

java 复制代码
<dependency>
    <groupId>commons-fileupload</groupId>
    <artifactId>commons-fileupload</artifactId>
    <version>1.3.3</version>
</dependency>

json

java 复制代码
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.76</version>
</dependency>

通过WebSocket通信

java 复制代码
package WebSocket.Server;

import java.net.URI;
import javax.websocket.ClientEndpoint;
import javax.websocket.OnError;
import javax.websocket.OnMessage;
import org.glassfish.tyrus.client.ClientManager;

@ClientEndpoint
public class WebsocketClient {
    public static void main(String[] args) throws Exception {
        String serverEndpoint = "ws://127.0.0.1:8081"; // 这里设置 Websocket 服务器的地址

        ClientManager client = ClientManager.createClient();
        WebsocketClient socket = new WebsocketClient();
        client.connectToServer(socket, new URI(serverEndpoint));

        // 等待接收服务器发来的消息
        while (true) {
            Thread.sleep(1000);
        }
    }

    @OnMessage
    public void onMessage(String message) {
        System.out.println("Received message from server: " + message);
    }

    @OnError
    public void onError(Throwable t) {
        t.printStackTrace(System.err);
    }
}

所有的jar包

XML 复制代码
<dependencies>
    <dependency>
        <groupId>org.thymeleaf</groupId>
        <artifactId>thymeleaf</artifactId>
        <version>3.0.15.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>fastjson</artifactId>
        <version>1.2.76</version>
    </dependency>

    <dependency>
        <groupId>org.apache.maven.surefire</groupId>
        <artifactId>surefire-booter</artifactId>
        <version>2.22.2</version>
    </dependency>
    <dependency>
        <groupId>commons-fileupload</groupId>
        <artifactId>commons-fileupload</artifactId>
        <version>1.3.3</version>
    </dependency>

    <dependency>
        <groupId>javax.websocket</groupId>
        <artifactId>javax.websocket-client-api</artifactId>
        <version>1.1</version>
    </dependency>

    <dependency>
        <groupId>org.glassfish.tyrus.bundles</groupId>
        <artifactId>tyrus-standalone-client</artifactId>
        <version>1.17</version>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>jul-to-slf4j</artifactId>
        <version>1.7.36</version>
    </dependency>
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>1.18.20</version>
        <scope>provided</scope>
    </dependency>

</dependencies>
相关推荐
null_176 小时前
IntelliJ IDEA 极致流畅配置方案:Ultra 9 285K + 64GB 内存实测
java·ide·intellij-idea
Herbert_hwt7 小时前
建立Java程序开发
java·开发语言
好好沉淀7 小时前
@ExcelIgnoreUnannotated 和 @AutoMapper 详解
java
愚公移码7 小时前
蓝凌EKP18产品:流程虚拟机(PVM)
java·开发语言·前端
驰骋工作流7 小时前
流程引擎BPM设计之:流程消息
java·工作流引擎·bpm·jflow·ccflow
dogstarhuang7 小时前
从 0 到 1 搭建可收费的 API 开放平台(实战)
java·架构·api
VortMall8 小时前
『平台去经营化』平台治理能力全新重构|VortMall微服务商城系统v1.3.10
java·大数据·微服务·商城系统·开源商城·vortmall·去经营化
吴声子夜歌8 小时前
Redis 3.x——集群故障转移
java·数据库·redis·集群
Java面试题总结8 小时前
mybatis插件
java·tomcat·mybatis
橘子海全栈攻城狮9 小时前
【最新源码】基于SpringBoot + Vue的超市管理系统的设计与实现D002
java·开发语言·vue.js·spring boot·后端·spring