日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

java客户端_Java常用的Http client客户端

發布時間:2024/9/27 java 54 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java客户端_Java常用的Http client客户端 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Http Client應用場景:

Http協議是最重要的網絡協議之一,目前移動端的開發、javaweb前后端分離架構,使越來越多的java應用使用http協議訪問資源。Http client 大多數場景使用在多個服務之間相互調用rest api,特別是現在微服務架構的流行,使得http client的使用更加頻繁。當然很多爬蟲項目也使用到Http client。

Java常用的Http 客戶端:

一、Java原生HttpURLConnection

二、Apache http client

三、OkHttp

四、Spring 家族 RestTemplate

各客戶端詳細介紹:

一、Java原生HttpURLConnection:

簡介:java.net包下的原生java api提供的http請求。

使用步驟:

1、通過統一資源定位器(java.net.URL)獲取連接器(java.net.URLConnection)。

2、設置請求的參數。

3、發送請求。

4、以輸入流的形式獲取返回內容。

5、關閉輸入流。

Demo:

二、Apache http client:

簡介:http client到目前為止最新是5.0beta版,官網地址:http://hc.apache.org/ 。Http client專為推展而設計,同時為基本http協議提供強大支持,盡管java.net包提供了通過http訪問的基本功能,但是未提供許多應用程序所需要功能。

使用步驟:

1、創建HttpClient對象。

2、創建請求方法的實例,并指定請求URL。如果需要發送GET請求,創建HttpGet對象;如果需要發送POST請求,創建HttpPost對象。

3、如果需要發送請求參數,可調用HttpGet、HttpPost共同的setParams(HetpParams params)方法來添加請求參數;對于HttpPost對象而言,也可調用setEntity(HttpEntity entity)方法來設置請求參數。

4、調用HttpClient對象的execute(HttpUriRequest request)發送請求,該方法返回一個HttpResponse。

5、調用HttpResponse的getAllHeaders()、getHeaders(String name)等方法可獲取服務器的響應頭;調用HttpResponse的getEntity()方法可獲取HttpEntity對象,該對象包裝了服務器的響應內容。程序可通過該對象獲取服務器的響應內容。

6、釋放連接。無論執行方法是否成功,都必須釋放連接。

Demo:

三、OkHttp:

簡介:OkHttp是一個默認有效的HTTP客戶端,有效地執行HTTP可以加快您的負載并節省帶寬,如果您的服務有多個IP地址,如果第一次連接失敗,OkHttp將嘗試備用地址。這對于IPv4 + IPv6和冗余數據中心中托管的服務是必需的。OkHttp啟動具有現代TLS功能(SNI,ALPN)的新連接,并在握手失敗時回退到TLS 1.0,OkHttp支持Android 2.3及更高版本。對于Java,最低要求是1.7。

操作步驟:

1、創建OkhttpClient。

2、mClient執行newCall將Request轉化成一個Call。

3、最后call執行excute同步執行,enqueue異步執行。

4、Request主要通過Request.Builder來構建。

5、緩存。

6、取消請求。

Demo:

四、Spring 家族 RestTemplate:

簡介:從Spring3.0開始,Spring為創建Rest API提供了良好的支持。Spring RestTemplate 是 Spring 提供的用于訪問 Rest 服務的客戶端,RestTemplate 提供了多種便捷訪問遠程Http服務的方法,能夠大大提高客戶端的編寫效率,所以很多客戶端比如 Android或者第三方服務商都是使用 RestTemplate 請求 restful 服務。RestTemplate有不同的版本實現,默認SimpleStreamingClientHttpRequest使用原生java http實現,HttpComponentsClientHttpRequestFactory使用apache http client實現,OkHttp3ClientHttpRequestFactory使用Okhttp實現。

操作步驟:

1、使用默認構造方法new一個實例new RestTemplate()。

2、RestTemplate 內部通過調用 doExecute 方法,首先就是獲取 ClientHttpRequest。

3、RestTemplate 實現了抽象類 HttpAccessor ,所以可以調用父類的 createRequest。

4、SimpleClientHttpRequestFactory 實現了 ClientHttpRequest,同時實現方法。

5、執行 requestCallback.doWithRequest(request)。

6、執行 response = request.execute()。

7、最后解析response。

Demo:

歡迎大家留言交流。

總結

以上是生活随笔為你收集整理的java客户端_Java常用的Http client客户端的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。