2009-11-16 80 views

回答

1

以我的經驗HttpClient的是稍微簡單,更直觀比使用HttpURLConnection的使用,但我認爲這是一個非常主觀的決定,情況因人而異。

1

我會去與JRE版本,所以我會少一個依賴發貨。

+1

這個比較看起來有點過時 – jitter

+2

我們有些人沒有使用最新版本的任何**的奢侈** :-( –

0

HttpUrlConnection很容易處理。 REST實現非常簡單。

儘管您必須考慮整個環境的實施情況,並檢查哪些方法對您更好。

2

Restlet Framework還具有工作了服務器端和客戶端的API。我們支持可插入的客戶端連接器,利用HttpURLConnection或Apache HTTP Client或我們自己的內部HTTP客戶端。

我們ClientResource類提供更高級別的HTTP客戶端API,與像自動重定向,對象和表示,內容協商和更之間透明轉換功能。

最好的問候,

傑羅姆Louvel

的Restlet〜創始人和首席開發者〜http://www.restlet.org

Noelios技術〜共同創始人〜http://www.noelios.com

+0

我們在1.4 - Restlet在1.4上工作? –

+0

@Marcus:是的,我現在在Java 1.6中使用Restlet的客戶端,這是一個夢想。 (我們已將它配置爲位於Apache HTTP Client之上,這比java.net.HttpUrlConnection好得多) –

4

我給你一個單一的,具體的支持Apache HTTPClient的原因是:JDK的HttpUrlConnection不支持Apache的HTTPClient所支持的超時*。

應用程序應該總是調用到其他系統(數據庫,遠程服務,你自己的服務器後端,...)時設置超時的能力。

*這是固定的Java 1.5中; Java 1.5及更高版本支持HttpUrlConnection中的超時。

+7

不正確!這在Java 1.5中得到了修復。 –

+0

我站好了。很高興知道(這是在URLConnection課上)。 – SteveD

+0

好點。我們在1.4,所以這看起來完全相關。 –

4

我會推薦Jakarta Commons HTTP客戶端通過java.net.HttpUrlConnection,因爲它更成熟,並有richer feature set。例如,您可以要求它設置多線程連接池(請參閱MultiThreadedHttpConnectionManager),並且它完全支持所有HTTP方法(GET,PUT,POST,DELETE,OPTIONS,TRACE)。

1

... HttpClient的不支持代理等的Kerberos/NTLM身份驗證... Java的HttpURLConnection類會做認證的開箱...

相關問題