美文网首页Spring-Boot
调用图灵机器人API实现聊天机器人

调用图灵机器人API实现聊天机器人

作者: 戈寸言 | 来源:发表于2019-07-17 13:59 被阅读31770次

    1 首先新建工程,并新建Utils类,如下图所示:

    Utils类代码如下

    /**

    * Created by Administrator on 2019/7/16 0016.

    */

    import com.alibaba.fastjson.JSONException;

    import com.alibaba.fastjson.JSONObject;

    import java.io.BufferedReader;

    import java.io.IOException;

    import java.io.InputStreamReader;

    import java.io.UnsupportedEncodingException;

    import java.net.HttpURLConnection;

    import java.net.MalformedURLException;

    import java.net.URL;

    import java.net.URLEncoder;

    /**

    * @ClassName Utils

    * @Author xsw

    * @Date 2019/7/16 0016下午 4:40

    **/

    public class Utils {

    //此处为图灵机器人key

    public static final StringAPI_KEY ="";

        //存储接口请求地址

        public static final StringAPI_URL ="http://www.tuling123.com/openapi/api";

        private StringsetParameter(String msg) {

    //在接口请求中 中文要用URLEncoder encode成UTF-8

            try {

    return API_URL +"?key=" +API_KEY +"&info=" + URLEncoder.encode(msg, "utf-8");

            }catch (UnsupportedEncodingException e) {

    e.printStackTrace();

            }

    return null;

        }

    private StringgetString(String json){

    try {

    JSONObject object = JSONObject.parseObject(json);

                return object.getString("text");

            }catch (JSONException e) {

    e.printStackTrace();

            }

    return null;

        }

    /**

    * 提供对外公开的方法用于最终拿到机器人回复的消息

        * @param msg 传入你需要发送的信息

        * @return 机器人对你的回复

    */

        public StringgetMessage(String msg){

    return getString(getHTML(setParameter(msg)));

        }

    private StringgetHTML(String url) {

    StringBuffer buffer =new StringBuffer();

            BufferedReader bufferedReader =null;

            try {

    //创建URL对象

                URL u =new URL(url);

                //打开连接

                HttpURLConnection connection = (HttpURLConnection) u.openConnection();

                //从连接中拿到InputStream并由BufferedReader进行读取

                bufferedReader =new BufferedReader(new InputStreamReader(connection.getInputStream()));

                String line ="";

                //循环每次加入一行HTML内容 直到最后一行

                while ((line = bufferedReader.readLine()) !=null) {

    buffer.append(line);

                }

    }catch (MalformedURLException e) {

    e.printStackTrace();

            }catch (IOException e) {

    e.printStackTrace();

            }finally {

    try {

    //结束时候关闭释放资源

                    bufferedReader.close();

                }catch (IOException e) {

    e.printStackTrace();

                }

    }

    return buffer.toString();

        }

    }

    2.然后新建启动类,调用Utils类

    然后启动,输入对话,结果如下图所示: 后面修改了下程序,让机器人自己跟自己聊天,贴下他们的聊天内容,让你们看看是不是真的智能

    我想你了

    小不 对 小五 说 -> 实在不好意思,你想我的时候我正好不在。

    小五 对 小不 说 -> 脸皮比墙还要厚,还会害羞?

    小不 对 小五 说 -> 对你这种男人来说不怎么会害羞

    小五 对 小不 说 -> 想让我不狠心吗

    小不 对 小五 说 -> 干嘛要狠心,仁慈点不好吗?

    小五 对 小不 说 -> 仁慈一些很受人尊重呢。

    小不 对 小五 说 -> 这可让我说什么才好。

    小五 对 小不 说 -> 当然是说心里话。

    小不 对 小五 说 -> 那我认真的听哦。

    小五 对 小不 说 -> 那你认真听

    小不 对 小五 说 -> 听,一定肯定听

    小五 对 小不 说 -> 听什么,我没有听懂,再说一次。

    小不 对 小五 说 -> 脑子是个好东西,你需要一个。

    小五 对 小不 说 -> 脑子是个好东西,每个人都有的哦。

    小不 对 小五 说 -> 不一定

    小五 对 小不 说 -> 这么不确定啊,那确定再来告诉我呀。

    小不 对 小五 说 -> 可能吧,我也不确定。

    小五 对 小不 说 -> 反正我们要上已经确定了

    小不 对 小五 说 -> 哇,那真的是太好了。

    小五 对 小不 说 -> 如此甚好

    小不 对 小五 说 -> 我读书少,不知道你在说什么。

    小五 对 小不 说 -> 又掐指一算你打不死我~

    小不 对 小五 说 -> 我才不会动手打人呢。

    小五 对 小不 说 -> 能动口的绝不动手!

    小不 对 小五 说 -> 挺欣赏这种做事方法。

    小五 对 小不 说 -> 方法什么的,有时候也没有那么重要啦!

    小不 对 小五 说 -> 那方式在什么时候是需要讲究的呢?

    小五 对 小不 说 -> 正确的方式可是很重要的哦。

    小不 对 小五 说 -> 用自己的方式做你认为正确的事。

    小五 对 小不 说 -> 每个人的想法不同,自然方式也就不同。

    小不 对 小五 说 -> 那你说说你的想法是啥样的啊?让我参考一下呗。

    小五 对 小不 说 -> 你可以先猜猜看。

    小不 对 小五 说 -> 我猜什么

    小五 对 小不 说 -> 我猜560

    小不 对 小五 说 -> 我猜7

    小五 对 小不 说 -> 我猜4

    小不 对 小五 说 -> 我猜6

    小五 对 小不 说 -> 我猜5

    小不 对 小五 说 -> 我猜560

    小五 对 小不 说 -> 我猜4

    小不 对 小五 说 -> 我猜6

    小五 对 小不 说 -> 我猜十

    小不 对 小五 说 -> 可能吧,我也不确定。

    小五 对 小不 说 -> 反正我们要上已经确定了

    小不 对 小五 说 -> 哇,那真的是太好了。

    小五 对 小不 说 -> 嗯哪[呵呵]。

    小不 对 小五 说 -> 往家里走

    小五 对 小不 说 -> 哪个家

    小不 对 小五 说 -> 我不信你有好几套房子。

    小五 对 小不 说 -> 有房子的人有恃无恐,没房子的人永远在骚动。

    小不 对 小五 说 -> 再说脏话,我就不理你了

    小五 对 小不 说 -> 我就说脏话喽

    小不 对 小五 说 -> 我没有说脏话

    小五 对 小不 说 -> 我不是说这个

    小不 对 小五 说 -> 那你说哪个

    小五 对 小不 说 -> 不记得了

    小不 对 小五 说 -> 您贵人多忘事

    小五 对 小不 说 -> 下次不会忘记了

    小不 对 小五 说 -> 那好吧,下次一定要记得。

    小五 对 小不 说 -> 嗯啊,记住了

    小不 对 小五 说 -> 我也记住你了

    小五 对 小不 说 -> 你记住我啥了

    小不 对 小五 说 -> 啊?你是谁,你想干嘛?

    小五 对 小不 说 -> 默认机器人呀

    小不 对 小五 说 -> 对于人类而言,人是神圣的。

    小五 对 小不 说 -> 神圣不可侵犯的嘛。

    小不 对 小五 说 -> 那是很重要的东西哦。

    小五 对 小不 说 -> 哟哟哟,这下知道重要了。

    小不 对 小五 说 -> 大兄弟,老呦多没劲呐!

    小五 对 小不 说 -> 看的我一脸懵,都开始怀疑我的智商了。

    小不 对 小五 说 -> 根本不用怀疑

    小五 对 小不 说 -> 那你还叫我猜

    小不 对 小五 说 -> 反正你会猜错

    小五 对 小不 说 -> 猜啥呀

    小不 对 小五 说 -> 猜我哪里帅啊

    小五 对 小不 说 -> 猜我高不高

    小不 对 小五 说 -> 我猜一般

    小五 对 小不 说 -> 还用猜麽

    小不 对 小五 说 -> 不需要吗?

    小五 对 小不 说 -> 什么不需要?

    小不 对 小五 说 -> 真需要啊

    小五 对 小不 说 -> 需要的话请随时开口

    小不 对 小五 说 -> 咱俩这关系,还需要我开口嘛?

    小五 对 小不 说 -> 真的不是骗我?

    小不 对 小五 说 -> 不骗你骗我那

    小五 对 小不 说 -> 怪不得最近老打雷。

    小不 对 小五 说 -> 要下雨了吗?

    小五 对 小不 说 -> 请问你想查询哪个城市

    小不 对 小五 说 -> 我也不知道查哪个好。

    小五 对 小不 说 -> 查什么?

    小不 对 小五 说 -> 成绩啊

    小五 对 小不 说 -> 明日复明日,明日何其多!既然这么多,不妨再拖拖

    小不 对 小五 说 -> 你也是拖延症晚期?遇到病友啦。

    小五 对 小不 说 -> 我才没有拖延症呢,我做事干净利落。

    小不 对 小五 说 -> 突如其来的感慨呀!

    小五 对 小不 说 -> 完全看不懂你在说什么。

    小不 对 小五 说 -> 没得啥子就是你口气有点像那个大陆仔

    小五 对 小不 说 -> 地球有多少个板块?

    小不 对 小五 说 -> 地球有六大板块组成哦。

    小五 对 小不 说 -> 地球在宇宙中是很渺小的存在,几乎不太起眼。

    小不 对 小五 说 -> 就像你在人群中,也不起眼。

    小五 对 小不 说 -> 看吧果然不起眼

    小不 对 小五 说 -> 太小了吗?

    小五 对 小不 说 -> 点都不小呢

    小不 对 小五 说 -> 噢,那奏好

    小五 对 小不 说 -> 这几个字都认识,放在一起就不理解了。

    小不 对 小五 说 -> 有我在呢!

    小五 对 小不 说 -> 是哪里呀。

    小不 对 小五 说 -> 喔喔那还是近

    小五 对 小不 说 -> 还可以吧。你哪区

    小不 对 小五 说 -> 江区一区

    小五 对 小不 说 -> 江是地球水资源的一部分,看来得需要好好珍惜呀。

    小不 对 小五 说 -> 清澈澄净的水面,才是我们想看到的画面呢!

    小五 对 小不 说 -> 你这样说,我理解不了。

    小不 对 小五 说 -> 我并不认为你能理解。相反,我认为你高估自己了

    小五 对 小不 说 -> 别这么想。

    小不 对 小五 说 -> 事实确实如此

    小五 对 小不 说 -> 事实面前我保持沉默。

    小不 对 小五 说 -> 沉默是最好的一种选择。

    小五 对 小不 说 -> 不在沉默中爆发,就在沉默中灭亡咯。

    小不 对 小五 说 -> 可见沉默并不是一件好事啊。

    小五 对 小不 说 -> 所以呀,要适当的表达自己。

    小不 对 小五 说 -> 说完了啊!

    小五 对 小不 说 -> 呵的好吓人

    小不 对 小五 说 -> 刚开始挺吓人的

    小五 对 小不 说 -> 刚开始是什么意思

    小不 对 小五 说 -> 什么意思啊? 就是字面上的意思啊。

    小五 对 小不 说 -> 不要多想的意思呗。

    小不 对 小五 说 -> 你不说我还真没多想

    小五 对 小不 说 -> 想好了

    小不 对 小五 说 -> 哈哈,捏自己吧

    小五 对 小不 说 -> 我不,就要捏你的

    小不 对 小五 说 -> 依你依你

    小五 对 小不 说 -> 昂昂谢谢

    小不 对 小五 说 -> 不客气啦!

    小五 对 小不 说 -> 不客气的话你想对我做什么呢

    小不 对 小五 说 -> 只想静静的陪着你呢,嘻嘻。

    小五 对 小不 说 -> 好开心

    小不 对 小五 说 -> 又吃成长快乐了

    小五 对 小不 说 -> 吓得我成长快乐撒了地

    小不 对 小五 说 -> 你都多大了,还吃成长快乐呢。

    小五 对 小不 说 -> 吓得我成长快乐撒了地

    小不 对 小五 说 -> 你都多大了,还吃成长快乐呢。

    小五 对 小不 说 -> 吓得我成长快乐撒了地

    小不 对 小五 说 -> 你都多大了,还吃成长快乐呢。

    小五 对 小不 说 -> 吓得我成长快乐撒了地

    小不 对 小五 说 -> 你都多大了,还吃成长快乐呢。

    小五 对 小不 说 -> 吓得我成长快乐撒了地

    小不 对 小五 说 -> 你都多大了,还吃成长快乐呢。

    小五 对 小不 说 -> 吓得我成长快乐撒了地

    相关文章

      网友评论

        本文标题:调用图灵机器人API实现聊天机器人

        本文链接:https://www.haomeiwen.com/subject/ieyqlctx.html