Java调用图灵机器人聊天

       在网上找的聊天都是我问一句,下一句就接不上来了,就连成语接龙都玩不了,后来发现问题就出在userid这个参数上面,以下就是能够进行连续聊天的代码,懒得写界面,聊天字符串每执行一次就自己改一下,懒得写input,与网上大多数不同的是我在url中添加了一个userid参数,重点就是url这个字符串,其他的一模一样,应该可以自己添加groupID和userIdName。代码如下。

        userid参数是自己随便写的,apiKey需要你自己去申请,自行百度“图灵机器人的申请”等词条,或图灵机器人官网,如果只是实验可以用我这个,但是最好自己去申请一个,免费的哈。

package tulingTest;

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 UrlFinish {
	public static void main(String[] args) throws IOException {
		String question = "重庆市大学城附近的酒店";
		String info = URLEncoder.encode(question, "utf-8");
		String apiKey = "b6cc890990a04f23a6c6c71a4c36fb4c";
		String userId = "123456";
		String url = "http://www.tuling123.com/openapi/api?key="+apiKey
				+"&info="+info+"&userid="+userId;
		URL getUrl = new URL(url);
		HttpURLConnection connection = (HttpURLConnection)getUrl.openConnection();
		connection.connect();
		
//		获得输入流,并使用Reader读取
		BufferedReader reader = new BufferedReader(
				new InputStreamReader(connection.getInputStream(),"utf-8"));
		StringBuffer stringBuffer = new StringBuffer();
		String line = "";
		while((line = reader.readLine()) != null){
			stringBuffer.append(line);
		}		
//		断开reader
		reader.close();
//		断开链接
		connection.disconnect();
		System.out.println(stringBuffer);	
		responseAnalysis(stringBuffer);
	}
	
	private static void responseAnalysis(StringBuffer str){
		String string = str.toString();
//		返回的是索引
		int textBegin = string.indexOf("\"text");
		int urlBegin = string.indexOf("\"url");
		int codeBegin = string.indexOf("\"code");
		System.out.println(textBegin);
		System.out.println(urlBegin);
		System.out.println(codeBegin);
		if(textBegin != -1)
			System.out.println(string.substring(textBegin, urlBegin));
		if(urlBegin != -1)
			System.out.println(string.substring(urlBegin));
		if(codeBegin != -1)
			System.out.println(string.substring(codeBegin,textBegin));
		
	}
}

 

你可能感兴趣的:(java)