图灵机器人的调用其实就是你给服务器发一个文字消息过去,他回你一个,看起来模仿人类对话一样。
不知道为什么要弄个SDK这么麻烦的方法,以前的接口官网上已经没有了,但是还是可以用的。返回的是JSON但也懒得解析是了,反正格式是固定的,当成字符串处理就好,简单粗暴。
String data = null;
try {
//一定要将其变成utf-8
data=URLEncoder.encode(edit.getText().toString(), "utf-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} String strUrl = "http://www.tuling123.com/openapi/api?key=2e29921641b808e1986e20d4fc6e3238&info=+"+data;
//key是你自己注册得到的,当然你直接用我的也行 URL url = null;
try {
url = new URL(strUrl); HttpURLConnection conn = null; conn = (HttpURLConnection)url.openConnection(); conn.setRequestProperty("User-Agent","Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko"); conn.connect();
//打开这个页面的输入流,这个网站的内容以字节流的形式返回。如果是网页就返回html,图片就返回图片的内容。
InputStream inStream = conn.getInputStream(); byte [] buf = new byte[1024]; ByteArrayOutputStream outStream = new ByteArrayOutputStream(); int n = 0; while((n=inStream.read(buf))!=-1){ outStream.write(buf,0,n); } inStream.close();
outStream.close(); //用ByteArrayOutputStream全部缓冲好后再一次转成String,不然再间隔的地方会出现乱码问题 String result = outStream.toString();
//返回的JSON,弄成字符串后去掉头和尾就行
result = result.substring(23,result.length()-2);
以上代码直接复制粘贴就能用了。也没什么要改的。