1. 程式人生 > >Android之HttpClient 和HttpResponse 小結

Android之HttpClient 和HttpResponse 小結

三步曲: 
1.建立HttpGet或者HttpPost物件,將要請求的URL物件構造方法傳入HttpGet、HttpPost物件 
2.通過HttpClent介面的實現類DefaultClent.的excute(HttpUriRequest request)而我們已經知道HttpGet和HttpPost類都實現了            HttpUriRequest介面,所以這裡面,我們可以將第1步建立好的HttpGet或者HttpPost物件傳入進來。來得到HttpResponse物件

3.通過HttpResponse取到返回的一些資訊,再做提取 

知識點:

1. HttpParams : 儲存Http請求設定的引數物件

2. HttpConnectionParams :提供對Http連線引數進行設定的方法,比如 連線超時時間 等。

3.HttpClient :發起Http連線請求的物件,

4.HttpResponse :Http 請求返回的響應

HttpClient介面 
實現類:DefaultHttpClient這也是常用的一個用於實現HttpClient介面的子類, HttpClietnt中定義的常用抽象方法 
1.public abstract HttpResponse execute (HttpUriRequest request) :

                                  通過HttpUriRequest物件執行返回一個HttpResponse物件

2.public abstract HttpResponse execute (HttpUriRequest request, HttpContext context) :

                                  通過HttpUriRequest物件和HttpContext對   象執行返回一個HttpResponse物件

HttpResponse介面 

HttpResponse接口裡定義了一系列的set、get方法

1.public abstract HttpEntity getEntity () :

             得到一個HttpEntity物件

 2.public abstract StatusLine getStatusLine () :

               得到一個StatusLine(也就是HTTP協議中的狀態行我們知道HTPP狀態行由三部分組成:HTTP協議版本,伺服器發回的響 應狀態

程式碼,狀態碼的文字描述)介面的例項物件

3. public abstract Locale getLocale () :

              得到Locale物件….相應的set方法 
 
StatusLine介面 
StatusLine介面的常用方法。也可以通過其實現的子類BasicStatusLine類裡檢視

1.public abstract ProtocolVersion getProtocolVersion () :

             得到一個ProtolVersion物件它是一個HTTP版本的封裝類,在這個類裡定義了一系列的方法我們可以通過它的getProtocol方法取得協議名稱,getMinor得到HTPP協議的版本

2.public abstract String getReasonPhrase () :

            狀態碼的文字描述 
3.public abstract int getStatusCode () :

            得到響應狀態碼 

HttpEntity是一個介面 

1.public abstract InputStream getContent () : 

             得到一個輸入流物件,我們可以用這個流來操作文件(例如儲存檔案到SD卡)

2.public abstract Header getContentType () :

              得到Content-Type資訊頭 

3.public abstract Header getContentEncoding () : 

                 得到Content-Encoding資訊頭 


我們可以通過EntityUtils類,它是一個final類,一個專門針對於處理HttpEntity的幫助類 
常用方法 

EntityUtils類 
EntityUtils類的常用方法

1.public static String getContentCharSet (HttpEntity entity) :

                設定HttpEntity物件的ContentCharset

2.public static byte[] toByteArray (HttpEntity entity) :

              將HttpClient轉換成一個位元組陣列

3.public static String toString (HttpEntity entity, String defaultCharset) :

             通過指定的編碼方式取得HttpEntity裡字串內容 

4.public static String toString (HttpEntity entity) :

            取得HttpEntity裡字串內容 

NameValuePair 
NameValuePair介面是一個簡單的封閉的鍵值對,只提供了一個getName()和一個getValue方法。主要用到的實現類BasicNameVaulePair HttpGet類

HttpGet它實現了HttpRequest、HttpUriRequest介面 構造方法

1.public HttpGet () : 無引數構造方法用以例項化物件 

2.public HttpGet (URI uri) :通過URI物件構造HttpGet物件 
3.public HttpGet (String uri) :通過指定的uri字串地址構造例項化HttpGet物件


HttpPost類 
同樣它也實現了HttpRequest、HttpUriRequest介面等一系列介面 構造方法 
1.public HttpPost ()  :無引數構造方法用以例項化物件 

2.public HttpPost (URI uri) :通過URI物件構造HttpPost物件 

3.public HttpPost (String uri)  :通過指定的uri字串地址構造例項化HttpPost物件