Java 远程调用有道api接口实例

来源:互联网 发布:php魔术方法 编辑:程序博客网 时间:2024/05/19 06:16

今天抽出时间给大家分享下java访问api接口的案例,api接口就是应用程序编程接口,由别人提供的接口我们去调用,在接口中别人写了一些方法我们需要调用。

有很多访问api接口的方法,这里我分享的是commons-httpclient这个包里的方法。在这里我就做了一个访问有道词典api的接口。

首先需要导入commons-httpclient包,手动或maven项目自行百度就有,有道词典api接口需要申请后才可以。在这里我已申请就不演示了。

@RequestMapping("ydapi.xhtml")public @ResponseBody String ydapi(HttpServletRequest req) throws UnsupportedEncodingException{//翻译的内容用encoder编译String str=URLEncoder.encode("How old are you");//接受反回的JsonString boty="";//传参的类List<NameValuePair> pair=new ArrayList<NameValuePair>();//有道翻译api接口,需要自己申请生成keyString url = "http://fanyi.youdao.com/openapi.do?keyfrom=youdianbao&key=1661829537&type=data&doctype=json&version=1.1&q="+str;//实例化defaultHttpClientDefaultHttpClient hc=new DefaultHttpClient();try {//实例化post方式访问并且把路径放入HttpPost httppost=new HttpPost(url);//把需要的参数传入httppost.setEntity(new UrlEncodedFormEntity(pair,HTTP.UTF_8));//执行访问返回respHttpResponse resp=hc.execute(httppost);//获取访问的结果HttpEntity entity=resp.getEntity();//把返回的结果转成字符串boty=EntityUtils.toString(entity);} catch (Exception e) {// TODO: handle exceptione.printStackTrace();}//运行完后执行finally {hc.getConnectionManager().shutdown();}return boty;}
注意事项:

A、上图url路径有道申请成功后会有,如需调用别的api接口可更改。

B、我这里包的版本是3.1,版本不用有些用法不同。

3 0