这次练习post方法。

一、知识点

1.获取有道词典api秘钥

地址:http://fanyi.youdao.com/openapi?path=data-mode

完全免费,填写验证信息即可。

需要记住你的keyfrom和key ,这两个东西是等下请求要用到的的参数。

2.下载httpclient

用到apache提供的httpclient包,现在版本是httpclient 4.5.2。

下载地址:http://hc.apache.org/downloads.cgi

3.下载之后把lib里面的包放项目里,add to build path

二、代码实现

注意你需要填上你的keyform和key。

运行结果:

如果不想用httpclient包,想要直接用原生的java来获取接口数据,该怎么写?

有点麻烦,我个人建议还是去用httpclient吧!

三、改进昨天的代码

再接再厉,趁热打铁,我们把昨天的百度api用post方式试验一下吧!

运行结果:

失败了,一看报错就知道是 unicode 编码,从网上找个 unicode 编码转换器:http://tool.chinaz.com/tools/unicode.aspx

转换结果为:请输入城市名称或城市代码。

我一开始认为是编码问题,但是已经把 url 指定为 utf-8 编码了,不应该存在问题。

百度一下之后,认为是百度对此接口进行了只允许 get 请求的处理,到此实验完毕。

尝试联系客服,验证了我的猜想:

1

四、总结

那么问题来了:

1

为什么有道的也是必须 get 请求,我用 post 还是成功了呢?

今天学到的一个方法:

发表评论

电子邮件地址不会被公开。 必填项已用*标注