欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

用Java跟图灵机器人对话,如查询天气

程序员文章站 2022-06-04 10:00:23
...

介绍

写过一篇使用Yahoo的天气API查询天气的博客《用Java查询雅虎天气并解析Json数据》,解析返回的Json文件。也可以使用图灵机器人的API,直接询问天气。

图灵机器人挺有意思,结合语音识别和合成,可以做成简单的对话机器人,可玩性很强,当然,树莓派支持了Java,移植后可以做成一个机器人~挖个坑,回头再写~

这里附上图灵机器人的简单应用示例,参考链接在后文。

注册后,获得自己的APIKEY就能玩起来了,有每天限制次数,目前完全够玩了,后续可以申请增加次数。

询问天气运行效果

返回:
{"code":100000,"text":"大连:5月24号 周三,14-25° 22° 晴 西南风4-5级;5月25号 周四,15-23° 晴 北风6-7级;5月26号 周五,16-25° 晴 北风4-5级;5月27号 周六,19-27° 晴 东南风4-5级;"}
后续再处理返回的结果吧~

用Java跟图灵机器人对话,如查询天气

代码

package com.sap.ward.XunfeiVoice;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;

public class Tuling
{
	private static String APIKEY = "*****";//官网注册后,换成你自己的

	public static void main(String[] args) throws IOException
	{
		String question = "大连今天天气怎样";// 这是上传给云机器人的问题
		String INFO = URLEncoder.encode(question, "utf-8");
		String getURL = "http://www.tuling123.com/openapi/api?key=" + APIKEY
				+ "&info=" + INFO;
		URL getUrl = new URL(getURL);
		HttpURLConnection connection = (HttpURLConnection) getUrl
				.openConnection();
		connection.connect();

		// 取得输入流,并使用Reader读取
		BufferedReader reader = new BufferedReader(
				new InputStreamReader(connection.getInputStream(), "utf-8"));
		StringBuffer sb = new StringBuffer();
		String line = "";
		while ((line = reader.readLine()) != null) {
			sb.append(line);
		}
		reader.close();
		// 断开连接
		connection.disconnect();
		System.out.println(sb);

	}
}



参考链接

图灵机器人官网 http://www.tuling123.com/