HttpClient 是Apache Jakarta Common 下的子項目,可以用來提供高效的、最新的、功能豐富的支援 HTTP 協定的用戶端程式設計工具包,并且它支援 HTTP 協定最新的版本和建議。
介紹
編輯 HTTP 協定可能是現在 Internet 上使用得最多、最重要的協定了,越來越多的 Java 應用程式需要直接通過 HTTP 協定來通路網絡資源。雖然在 JDK 的 java net包中已經提供了通路 HTTP 協定的基本功能,但是對于大部分應用程式來說,JDK 庫本身提供的功能還不夠豐富和靈活。HttpClient 是 Apache Jakarta Common 下的子項目,用來提供高效的、最新的、功能豐富的支援 HTTP 協定的用戶端程式設計工具包,并且它支援 HTTP 協定最新的版本和建議。HttpClient 已經應用在很多的項目中,比如 Apache Jakarta 上很著名的另外兩個開源項目 Cactus 和 HTMLUnit 都使用了 HttpClient。現在HttpClient最新版本為 HttpClient 4.5 .6(2015-09-11)
功能
編輯 以下列出的是 HttpClient 提供的主要的功能,要知道更多詳細的功能可以參見 HttpClient 的首頁。 (1)實作了所有 HTTP 的方法(GET,POST,PUT,HEAD 等) (2)支援自動轉向 (3)支援 HTTPS 協定 (4)支援代理伺服器等
基本功能
編輯 (1) GET方法 使用 HttpClient 需要以下 6 個步驟: 1. 建立 HttpClient 的執行個體 2. 建立某種連接配接方法的執行個體,在這裡是GetMethod。在 GetMethod 的構造函數中傳入待連接配接的位址 3. 調用第一步中建立好的執行個體的 execute 方法來執行第二步中建立好的 method 執行個體 4. 讀 response 5. 釋放連接配接。無論執行方法是否成功,都必須釋放連接配接 6. 對得到後的内容進行處理
基本功能
編輯 (1) GET方法 使用 HttpClient 需要以下 6 個步驟: 1. 建立 HttpClient 的執行個體 2. 建立某種連接配接方法的執行個體,在這裡是GetMethod。在 GetMethod 的構造函數中傳入待連接配接的位址 3. 調用第一步中建立好的執行個體的 execute 方法來執行第二步中建立好的 method 執行個體 4. 讀 response 5. 釋放連接配接。無論執行方法是否成功,都必須釋放連接配接 6. 對得到後的内容進行處理
(2)POST方法 根據RFC2616,對POST的解釋如下:POST方法用來向目的伺服器送出請求,要求它接受被附在請求後的實體,并把它當作請求隊列(Request-Line)中請求URI所指定資源的附加新子項。POST被設計成用統一的方法實作下列功能: 對現有資源的注釋(Annotation of existing resources) 向電子公告欄、新聞討論區,郵件清單或類似讨論組發送消息 送出資料塊,如将表單的結果送出給資料處理過程 通過附加操作來擴充資料庫 調用HttpClient中的PostMethod與GetMethod類似,除了設定PostMethod的執行個體與GetMethod有些不同之外,剩下的步驟都差不多
常見問題
字元編碼,自動轉向,處理HTTPS協定
=====================================================================
Apache HTTPCLIENT 官網介紹譯文
生命的結束
Commons HttpClient項目現在已經結束,不再開發了。它的HttpClient和HttpCore子產品中的Apache HttpComponents項目已經取代了它,這兩個子產品提供了更好的性能和更大的靈活性。
------------------------------------------------------------------------------------------------------------------------------------
介紹
超文本傳輸協定(HTTP)可能是當今網際網路上使用的最重要的協定。
Web服務、網絡裝置和網絡計算的發展繼續擴大HTTP協定的作用除了使用者驅動的Web浏覽器,同時增加的數量需要HTTP的應用程式supportAlthough java.net包為通過HTTP通路資源提供了基本的功能,它不提供全面的靈活性或功能,需要由許多應用程式。
Jakarta Commons HttpClient元件通過提供一個高效的、最新的、功能豐富的包來實作最新HTTP标準和建議的用戶端,進而填補這一空白。
有關為擴充而設計的标準遵從性和功能的更多細節,請參閱Features頁面,同時提供對基本HTTP協定的健壯支援,任何人都可能對HttpClient元件感興趣。
建構HTTP感覺的客戶機應用程式,如web浏覽器、web服務客戶機或利用或擴充HTTP協定fol分布式通信的系統。
有許多項目使用HttpClient來提供核心HTTP功能。
其中一些是開放源碼的,帶有您可以在web上找到的項目頁面,而另一些是您永遠不會看到或聽說的封閉源碼。
Apache源代碼許可為源代碼和二進制重用提供了最大的靈活性。
請參閱使用HttpClient的項目的應用程式頁面。
------------------------------------------------------------------------------------------------------------------------------------
曆史
HistoryttpClient建立于2001年,是Jakarta Commons的一個子項目,基于Jakarta Slide項目開發的代碼。
2004年,它退出了下議院,轉而參與雅加達的另一個項目。
2005年,在Jakarta建立了HttpComponents項目,其任務是開發HttpClient 3的繼任者。
并維護現有的代碼庫,直到新的代碼庫準備好接管為止。
HttpClient的搖籃ommons項目于2007年離開雅加達,成為一個獨立的頂級項目。
同年晚些時候,這個ttpComponents項目也離開了Jakarta,成為一個獨立的頂級項目,負責維護HttpClient。
(部分内容來源于百度百科)
轉載于:https://www.cnblogs.com/weishenme/p/11252504.html