HttpClient簡介
HTTP 協議可能是現在 Internet 上使用得最多、最重要的協議了,越來越多的 Java 應用程式需要直接通過 HTTP 協議來訪問網路資源。雖然在 JDK 的 java.net 包中已經提供了訪問 HTTP 協議的準系統,但是對於大部分應用程式來說,JDK 庫本身提供的功能還不夠豐富和靈活。HttpClient 是 Apache Jakarta Common 下的子項目,用來提供高效的、最新的、功能豐富的支援 HTTP 協議的用戶端編程工具包,並且它支援 HTTP 協議最新的版本和建議。HttpClient 已經應用在很多的項目中,比如 Apache Jakarta 上很著名的另外兩個開源項目 Cactus 和 HTMLUnit 都使用了 HttpClient,更多使用 HttpClient 的應用可以參見http://wiki.apache.org/jakarta-httpclient/HttpClientPowered。HttpClient 項目非常活躍,使用的人還是非常多的。目前 HttpClient 版本是在 2005.10.11 發布的 3.0 RC4 。
HttpClient 功能介紹
以下列出的是 HttpClient 提供的主要的功能,要知道更多詳細的功能可以參見 HttpClient 的首頁。
實現了所有 HTTP 的方法(GET,POST,PUT,HEAD 等)
支援自動轉向
支援 HTTPS 協議
支援Proxy 伺服器等
下面將逐一介紹怎樣使用這些功能。首先,我們必須安裝好 HttpClient。
HttpClient 可以在http://jakarta.apache.org/commons/httpclient/downloads.html下載
HttpClient 用到了 Apache Jakarta common 下的子項目 logging,你可以從這個地址http://jakarta.apache.org/site/downloads/downloads_commons-logging.cgi下載到 common logging,從下載後的壓縮包中取出 commons-logging.jar 加到 CLASSPATH 中
HttpClient 用到了 Apache Jakarta common 下的子項目 codec,你可以從這個地址http://jakarta.apache.org/site/downloads/downloads_commons-codec.cgi 下載到最新的 common codec,從下載後的壓縮包中取出 commons-codec-1.x.jar 加到 CLASSPATH 中
HttpClient 準系統的使用
GET 方法
使用 HttpClient 需要以下 6 個步驟:
1. 建立 HttpClient 的執行個體
2. 建立某種串連方法的執行個體,在這裡是 GetMethod。在 GetMethod 的建構函式中傳入待串連的地址
3. 調用第一步中建立好的執行個體的 execute 方法來執行第二步中建立好的 method 執行個體
4. 讀 response
5. 釋放串連。無論執行方法是否成功,都必須釋放串連
6. 對得到後的內容進行處理