1.TestPost.java
package testhttpclient;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;
public class TestPost {
public static void main(String[] args) {
//http://fanyi.youdao.com/openapi.do
//keyfrom=JKXY-test&key=343166845&type=data&doctype=xml&version=1.1&q=welcome
new Post().start();
}
}
class Post extends Thread{
//創建標准的httpClient
HttpClient client=HttpClients.createDefault();
@Override
public void run() {
HttpPost post=new HttpPost("http://fanyi.youdao.com/openapi.do");
try {
//keyfrom=JKXY-test&keyfrom=JKXY-test&key=343166845&type=data&doctype=xml&version=1.1&q=welcome
//BasicNameValuePair是存儲鍵值對的類,當輸入新的key和value值,一點添加,它會自動給裝換成http的格式,=和&符號,我們都不用自己進行拼接和匹配了.
List<BasicNameValuePair> parameters=new ArrayList<>();
parameters.add(new BasicNameValuePair("keyfrom", "JKXY-test"));
parameters.add(new BasicNameValuePair("key", "343166845"));
parameters.add(new BasicNameValuePair("type", "data"));
parameters.add(new BasicNameValuePair("doctype", "xml"));
parameters.add(new BasicNameValuePair("version", "1.1"));
parameters.add(new BasicNameValuePair("q", "welcome"));
//傳輸給post請求
post.setEntity(new UrlEncodedFormEntity(parameters,"UTF-8"));
//執行
HttpResponse response=client.execute(post);
//http實例化對象
HttpEntity entity=response.getEntity();
String result=EntityUtils.toString(entity, "UTF-8");
System.out.println(result);
} catch (IOException e) {
e.printStackTrace();
}
}
}
2.運行截圖
console控制台內容:
<?xml version="1.0" encoding="UTF-8"?>
<youdao-fanyi>
<errorCode>0</errorCode>
<query><![CDATA[welcome]]></query>
<!-- 有道翻譯 -->
<translation>
<paragraph><![CDATA[歡迎]]></paragraph>
</translation>
<!-- 有道詞典-基本詞典 -->
<basic>
<!-- 音標 -->
<phonetic><![CDATA[ˈwelkəm]]></phonetic>
<!-- 美式音標 -->
<us-phonetic><![CDATA[ˈwelkəm]]></us-phonetic>
<!-- 英式音標 -->
<uk-phonetic><![CDATA[ˈwelkəm]]></uk-phonetic>
<!-- 基本釋義 -->
<explains>
<ex><![CDATA[adj. 受歡迎的;令人愉快的;可隨意的;盡管……好了]]></ex>
<ex><![CDATA[n. 歡迎;迎接;接受]]></ex>
<ex><![CDATA[v. 歡迎,迎接;迎新;樂於接受]]></ex>
<ex><![CDATA[int. 歡迎]]></ex>
<ex><![CDATA[n. (Welcome) (美、印)韋爾科姆(人名)]]></ex>
</explains>
</basic>
<!-- 有道詞典-網絡釋義 -->
<web>
<explain>
<key><![CDATA[Welcome]]></key>
<value>
<ex><![CDATA[歡迎]]></ex>
<ex><![CDATA[受歡迎的]]></ex>
<ex><![CDATA[歡迎光臨]]></ex>
</value>
</explain>
<explain>
<key><![CDATA[welcome to]]></key>
<value>
<ex><![CDATA[歡迎到來]]></ex>
<ex><![CDATA[歡迎參加]]></ex>
<ex><![CDATA[歡迎到]]></ex>
</value>
</explain>
<explain>
<key><![CDATA[Welcome aboard]]></key>
<value>
<ex><![CDATA[歡迎登機]]></ex>
<ex><![CDATA[歡迎加入]]></ex>
<ex><![CDATA[請上船]]></ex>
</value>
</explain>
</web>
</youdao-fanyi>