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>
相关推荐
StayInLove5 分钟前
G1垃圾回收器日志详解
java·开发语言
对许9 分钟前
SLF4J: Failed to load class “org.slf4j.impl.StaticLoggerBinder“
java·log4j
无尽的大道13 分钟前
Java字符串深度解析:String的实现、常量池与性能优化
java·开发语言·性能优化
小鑫记得努力22 分钟前
Java类和对象(下篇)
java
binishuaio26 分钟前
Java 第11天 (git版本控制器基础用法)
java·开发语言·git
zz.YE27 分钟前
【Java SE】StringBuffer
java·开发语言
老友@28 分钟前
aspose如何获取PPT放映页“切换”的“持续时间”值
java·powerpoint·aspose
wrx繁星点点43 分钟前
状态模式(State Pattern)详解
java·开发语言·ui·设计模式·状态模式
Upaaui1 小时前
Aop+自定义注解实现数据字典映射
java
zzzgd8161 小时前
easyexcel实现自定义的策略类, 最后追加错误提示列, 自适应列宽,自动合并重复单元格, 美化表头
java·excel·表格·easyexcel·导入导出