HttpClient初步使用方法

                  HttpClient簡單使用

準備

         Apache官網下載 HttpClient , 下不了的點擊這裏,下載完後解壓取lib文件夾中jar包導入到項目中

在進行本例之前需要了解三個類

         HttpClient  代表Http客戶端 裏面定義了很多http 請求執行行爲

         HttpEntity  消息載體,發送或者接收消息的載體,可以通過客戶端請求或者服務器響應獲取實例

         HttpConnection  代表http連接

本次實例代碼

public class HttpCLientDemo
{

	// HttpClient 代表Http客戶端 
	// HttpEntity 消息載體,發送或者接收消息的載體,可以通過客戶端請求或者服務器響應獲取實例
	// HttpConnection 代表http連接
	/**
	 * @param args
	 */
	public static void main(String[] args)
	{
		// 創建默認的客戶端實例
		HttpClient httpCLient = new DefaultHttpClient();
		
		// 創建get請求實例
		HttpGet httpget = new HttpGet("http://www.baidu.com");
		
		System.out.println("executing request "+httpget.getURI());
		
		try
		{
			
			// 客戶端執行get請求 返回響應實體
			HttpResponse response = httpCLient.execute(httpget);
			
			// 服務器響應狀態行
			System.out.println(response.getStatusLine());
			
			Header[] heads = response.getAllHeaders();
			// 打印所有響應頭
			for(Header h:heads){
				System.out.println(h.getName()+":"+h.getValue());
			}
			
			// 獲取響應消息實體
			HttpEntity entity = response.getEntity();
			
			System.out.println("------------------------------------");
			
			
			
			if(entity != null){
								
				//響應內容
				System.out.println(EntityUtils.toString(entity));
				
				System.out.println("----------------------------------------");
				// 響應內容長度
				System.out.println("響應內容長度:"+entity.getContentLength());
			}
			
		} catch (ClientProtocolException e){
			e.printStackTrace();
		} catch (IOException e){
			e.printStackTrace();
		}finally{
			httpCLient.getConnectionManager().shutdown();
		}
	}

}

本次運行結果


總結一下

      使用之前導入相應的jar包,然後開始編碼,先創建一個客戶端,根據需求可以配置,接着實例一個請求(get post put。。。),

      然後用客戶端對某一個服務器執行請求操作,可以得到一個http響應,

      這裏響應 結構如下 消息狀態行,消息頭,消息實體

       Response  =   Status-Line
                     *(( general-header
                      | response-header
                      | entity-header ) CRLF)
                     CRLF
                     [ message-body ]


結構中的數據我已在本例運行結果中顯示出來,請見上圖,可以看出本例:

對應結構

消息狀態行:

               HTTP/1.1 200 OK

消息響應頭:

Date:Tue, 08 Jan 2013 07:18:42 GMT
Server:BWS/1.0
Content-Length:9785
Content-Type:text/html;charset=gbk
Cache-Control:private
Expires:Tue, 08 Jan 2013 07:18:42 GMT
Set-Cookie:H_PS_PSSID=1757; path=/; domain=.baidu.com
Set-Cookie:BAIDUID=22B4BB1F8F8E808DB50B6513DBBCF6DF:FG=1; expires=Tue, 08-Jan-43 07:18:42 GMT; path=/; domain=.baidu.com
P3P:CP=" OTI DSP COR IVA OUR IND COM "
Connection:Keep-Alive

  消息實體:百度網頁源碼我就不寫了


本次對HttpClient的簡單使用到此爲止


發佈了61 篇原創文章 · 獲贊 380 · 訪問量 58萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章