步骤
**/*模拟机器人对话:
*
-
首先注册API–①百度搜索茉莉机器人 ②注册账号 ③进入ITPK界面 获取API ④词库管理建立问题与答案
-
知识点:URL类(接入地址) URLConnection类(产生联系) 字节流、字符流(读取数据) 变量 流程控制 方法
-
类URL:代表一个统一资源定位符,它指向互联网"资源"的指针
-
实现的思路:
-
1.获取机器人所在的地址
-
2.说话,问问题
-
3.与机器人建立联系
-
4.回话 通过字节流拿到回复的信息
-
5.程序读取到相关的信息,输出
-
/*
代码
package demo;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.net.URLEncoder;
import java.util.Scanner;
public class 智能机器人 {
// 程序的入口
public static void main(String[] args) {
// 1.*获取机器人所在地址*
// 为了防止发生变化 定义为final
final String API_KEY = "c02446aff52f74b78b55945454c5a6cf";
final String API_SECRET = "2kmpopubu7qo";
final String URL = "http://i.itpk.cn/api.php";
System.out.println("可以开始交流");
// 键盘扫描器
Scanner input = new Scanner(System.in);
//2.*建立与机器人的链接并完成对话*
// 重复的去问,所以用循环
while (input.hasNext()) {
String say = input.next();
try {
say = URLEncoder.encode(say, "utf-8");// 防止数据在传输的过程中乱码
// 字符串的拼接
String url = "http://i.itpk.cn/api.php?question=" + say + "&api_key=" + API_KEY + "&api_secret="
+ API_SECRET;
URL u = new URL(url);// 地址
URLConnection uc = u.openConnection();// 与机器人建立链接
// 读取字节输入流
InputStream is = uc.getInputStream();
// 将字节流转换成字符流
InputStreamReader isr = new InputStreamReader(is, "utf-8");
// 字节缓冲流,使效率达到最高
BufferedReader in = new BufferedReader(isr);
// 输出字符串
System.out.println(in.readLine());
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
-
1
-
2
-
3
-
4
-
5
-
6
-
7
-
8
-
9
-
10
-
11
-
12
-
13
-
14
-
15
-
16
-
17
-
18
-
19
-
20
-
21
-
22
-
23
-
24
-
25
-
26
-
27
-
28
-
29
-
30
-
31
-
32
-
33
-
34
-
35
-
36
-
37
-
38
-
39
-
40
-
41
-
42
-
43
-
44
-
45
-
46
-
47
-
48
-
49
-
50
-
51
-
52
-
53
-
54
-
55
-
56
测验