使用OKhttp3 与青云客AI聊天机器人交互 -Java

1.青云客

官网:http://api.qingyunke.com/

2.添加依赖

java 复制代码
<!--okhttp3 依赖-->
        <dependency>
            <groupId>com.squareup.okhttp3</groupId>
            <artifactId>okhttp</artifactId>
            <version>4.9.3</version>
        </dependency>

        <dependency>
            <groupId>com.google.code.gson</groupId>
            <artifactId>gson</artifactId>
            <version>2.8.9</version>
        </dependency>
        <dependency>
            <groupId>com.vaadin.external.google</groupId>
            <artifactId>android-json</artifactId>
            <version>0.0.20131108.vaadin1</version>
        </dependency>

3.主程序

java 复制代码
package org.example;


import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import okhttp3.OkHttpClient;
import okhttp3.Request;

import java.io.IOException;

public class reply {

    public static void main(String[] args) throws IOException {
        ok();
    }
    public static void ok(){
        new Thread(new Runnable() {
            @Override
            public void run() {
                try {
                    String data = "今天天气不错!";
                    String url = "http://api.qingyunke.com/api.php?key=free&appid=0&msg="+data;
                    OkHttpClient client = new OkHttpClient();
                    Request request = new Request.Builder().url(url).build();
                    okhttp3.Response response = client.newCall(request).execute();
                    if (response.isSuccessful()) {
                        assert response.body() != null;
                        System.out.println(response);

                        String re = response.body().string();

                        // 使用 JsonParser 解析字符串为 JsonObject
                        JsonObject jsonObject = JsonParser.parseString(re).getAsJsonObject();

                        // 获取 content 字段的值
                        String content = jsonObject.get("content").getAsString();

                        // 打印提取的内容
                        System.out.println("回答:"+content);
                    } else {
                        System.out.println("error");
                    }
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }).start();
    }
}

4.返回结果

相关推荐
huohaiyu44 分钟前
Hashtable,HashMap,ConcurrentHashMap之间的区别
java·开发语言·多线程·哈希
信奥卷王2 小时前
[GESP202503 五级] 原根判断
java·数据结构·算法
小咕聊编程2 小时前
【含文档+源码】基于SpringBoot的过滤协同算法之网上服装商城设计与实现
java·spring boot·后端
Zz_waiting.2 小时前
Spring 原理
java·spring·spring自动管理
Predestination王瀞潞5 小时前
IO操作(Num22)
开发语言·c++
瓯雅爱分享6 小时前
Java+Vue构建的采购招投标一体化管理系统,集成招标计划、投标审核、在线竞价、中标公示及合同跟踪功能,附完整源码,助力企业实现采购全流程自动化与规范化
java·mysql·vue·软件工程·源代码管理
宋恩淇要努力6 小时前
C++继承
开发语言·c++
沿着路走到底7 小时前
python 基础
开发语言·python
沐知全栈开发8 小时前
C# 委托(Delegate)
开发语言
mit6.8248 小时前
[C# starter-kit] 命令/查询职责分离CQRS | MediatR |
java·数据库·c#