HttpGet方式调用有道词典API实现单词查询功能

来源:互联网 发布:淘宝卖的玛咖是真是假 编辑:程序博客网 时间:2024/05/21 18:31
import java.io.IOException;import java.util.List;import java.util.Scanner;import org.apache.http.HttpEntity;import org.apache.http.HttpResponse;import org.apache.http.client.ClientProtocolException;import org.apache.http.client.HttpClient;import org.apache.http.client.methods.HttpGet;import org.apache.http.impl.client.HttpClients;import org.apache.http.util.EntityUtils;import org.dom4j.DocumentException;import org.dom4j.DocumentHelper;import org.dom4j.Element;public class TestGet {public static void main(String[] args) {new GetThread().start();}}class GetThread extends Thread {String word = null;boolean b = true;HttpClient client = HttpClients.createDefault();public void run() {while (b) {Scanner scan = new Scanner(System.in);word = scan.nextLine();HttpGet get = new HttpGet("http://fanyi.youdao.com/openapi.do?keyfrom=youdao111&key=60638690&type=data&doctype=xml&version=1.1&q="+ word);try {HttpResponse response = client.execute(get);HttpEntity entity = response.getEntity();String str = EntityUtils.toString(entity, "UTF-8");org.dom4j.Document doc = (org.dom4j.Document) DocumentHelper.parseText(str);Element root = (Element) doc.getRootElement();Element query = root.element("query");List clist = root.elements();System.out.println("原文:" + query.getText());Element paragraph = (Element) root.element("translation").element("paragraph");System.out.println("翻译:" + paragraph.getText());//用来判断返回的是翻译,还是单词if (clist.size() > 3) {List<Element> exlists = root.element("basic").element("explains").elements();for (Element e : exlists) {System.out.println("   " + e.getText());}}} catch (ClientProtocolException e) {b = false;e.printStackTrace();} catch (IOException e) {b = false;e.printStackTrace();} catch (DocumentException e1) {b = false;e1.printStackTrace();}}}}

0 0
原创粉丝点击