使用HttpClient访问网路数据
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                使用HttpClient访问网路数据
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                使用HttpClient訪問網絡數據,這里就需要我們在阿帕奇官網下載他們的jar包,操作如下:
一、進入阿帕奇的官網 apache.org
二、進入阿帕奇的官網 首頁,拉到最低,找到下圖指的參數,點擊進入
三、左邊有下載提示,點擊下載
四、下載我下圖所指即可
五,解壓我們下載好的項目包,里面有個lib文件夾,把里面的jar文件復制到我們項目中即可
六、代碼中如何使用
使用get請求數據
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileOutputStream; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.OutputStreamWriter; import java.net.HttpURLConnection; import java.net.URL;import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; 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;public class HttpClientget {public static void main(String[] args) {new MyPostThread().start();}static class MyPostThread extends Thread{//創建一個HttpClient對象HttpClient tClient = HttpClients.createDefault();@Overridepublic void run() {// 使用apache(阿帕奇)的httpclient來獲取網絡數據try {//使用HttpGet()來關聯我們服務器的網址,這里我用百度,http:\\要加上HttpGet hget = new HttpGet("http://fanyi.youdao.com/openapi.do?keyfrom=Xiaobaid&key=329647385&type=data&doctype=json&version=1.1&q=welcom");HttpResponse hR = tClient.execute(hget);HttpEntity hEntity = hR.getEntity();//返回的數據是String類型String vulueString = EntityUtils.toString(hEntity, "UTF-8");System.out.println(vulueString.toString());} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}} }運行結果:
2、使用post請求方式請求數據
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileOutputStream; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.OutputStreamWriter; import java.net.HttpURLConnection; import java.net.URL; 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.HttpGet; 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 HttpClientpost {public static void main(String[] args) {new MyPostThread().start();}static class MyPostThread extends Thread{String url = "http://fanyi.youdao.com/openapi.do";//創建一個HttpClient對象HttpClient httpClient = HttpClients.createDefault();@Overridepublic void run() {HttpPost tClient = new HttpPost(url);// 這里就需要指定參數的數據了。我用的是我之前在有道注冊的一個連接try {//創建一個list,把后面6個參數分別以kye-value方式寫入List<BasicNameValuePair> basicNameValuePairs = new ArrayList<>();basicNameValuePairs.add(new BasicNameValuePair("keyfrom", "Xiaobaid"));basicNameValuePairs.add(new BasicNameValuePair("key", "329647385"));basicNameValuePairs.add(new BasicNameValuePair("type", "data"));basicNameValuePairs.add(new BasicNameValuePair("doctype", "json"));basicNameValuePairs.add(new BasicNameValuePair("version", "1.1"));basicNameValuePairs.add(new BasicNameValuePair("q", "welcom"));tClient.setEntity(new UrlEncodedFormEntity(basicNameValuePairs, "UTF-8"));HttpResponse hR = httpClient.execute(tClient);HttpEntity hEntity = hR.getEntity();//返回的數據是String類型String vulueString = EntityUtils.toString(hEntity, "UTF-8");System.out.println(vulueString.toString());} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}} }運行結果:
總結
以上是生活随笔為你收集整理的使用HttpClient访问网路数据的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 迅闪2011安装指南
- 下一篇: 告诉你C盘里的每个文件夹都是干什么用的!
