(转)HttpURLConnection与 HttpClient 区别
轉自:
HttpURLConnection與 HttpClient 區別/性能測試對比 - 尚碼園HttpURLConnection與HttpClient隨筆 目前在工做中遇到的須要各類對接接口的工做,須要用到HTTP的知識,工做完成后想要作一些筆記,原本知識打算把本身寫的代碼粘貼上來就行了,https://www.shangmayuan.com/a/6ee68d2d1c9b4606bf618dfd.html
【README】
本文總結了 HttpURLConnection, HttpClient的區別;
【1】HttpURLConnection(jdk自帶)
在JDK的java.net包中已經提供了訪問HTTP協議的基本功能的類:HttpURLConnection。
HttpURLConnection是Java的標準類,它繼承自URLConnection,可用于向指定網站發送GET請求、POST請求。它在URLConnection的基礎上提供了以下便捷的方法:
int getResponseCode(); // 獲取服務器的響應代碼。 String getResponseMessage(); // 獲取服務器的響應消息。 String getResponseMethod(); // 獲取發送請求的方法。 void setRequestMethod(String method); // 設置發送請求的方法。【2】HttpClient 簡介(apache開源)
1)在通常狀況下,若是只是須要向Web站點的某個簡單頁面提交請求并獲取服務器響應,HttpURLConnection徹底能夠勝任。
HttpURLConnection缺點:但在絕大部分狀況下,Web站點的網頁可能沒這么簡單,這些頁面并非經過一個簡單的URL就可訪問的,可能須要用戶登陸并且具備相應的權限才可訪問該頁面。在這種狀況下,就須要涉及Session、Cookie的處理了,若是打算使用HttpURLConnection來處理這些細節,固然也是可能實現的,只是處理起來難度就大了。
2)HttpClient: 為了更好地處理向Web站點請求,包括處理Session、Cookie等細節問題,Apache開源組織提供了一個HttpClient項目,看它的名稱就知道,它是一個簡單的HTTP客戶端(并非瀏覽器),能夠用于發送HTTP請求,接收HTTP響應。但不會緩存服務器的響應,不能執行HTML頁面中嵌入的Javascript代碼;也不會對頁面內容進行任何解析、處理。
簡單來講,HttpClient就是一個加強版的HttpURLConnection,HttpURLConnection能夠作的事情HttpClient所有能夠作;HttpURLConnection沒有提供的有些功能,HttpClient也提供了,但它只是關注于如何發送請求、接收響應,以及管理HTTP鏈接。
【3】小結
httpClient是個開源框架,封裝了訪問http的請求頭,參數,內容體,響應等等,
HttpURLConnection是java的標準類,什么都沒封裝,用起來太原始,不方便
性能測試結果:
HttpURLConnection 優于 HttpClient ;
總結
以上是生活随笔為你收集整理的(转)HttpURLConnection与 HttpClient 区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: javaI/O流小结
- 下一篇: 上海高中排名(2021上海高考成绩最好的