真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

java中怎么利用httpclient設置超時時間-創(chuàng)新互聯(lián)

java中怎么利用httpclient設置超時時間,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

創(chuàng)新互聯(lián)長期為千余家客戶提供的網(wǎng)站建設服務,團隊從業(yè)經(jīng)驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為北海企業(yè)提供專業(yè)的網(wǎng)站設計制作、成都網(wǎng)站制作,北海網(wǎng)站改版等技術服務。擁有十載豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。

設置超時時間

設置HttpClient的超時時間,非常有必要性,因為httpclient 默認超時時間很長,自己可以測試一下是多久,設置超時時間否則會影響自己系統(tǒng)的業(yè)務邏輯,例如阻塞系統(tǒng),影響系統(tǒng)的吞吐量,占用線程數(shù)。

httpclient 4.4版本之后將這些設置封裝到 RequestConfig 對象里,其中 setConnectTimeout 是設置連接到目標 URL 的等待時長,超過這個時間還沒連上就拋出連接超時;

setConnectionRequestTimeout 是從connect Manager(連接池)獲取連接的等待時長,這個版本是共享連接池的;

setSocketTimeout 是連接到目標URL 之后等待返回響應的時長,即超過這個時間就放棄本次調用并拋出

SocketTimeoutException:Read Time Outpublic static RequestConfig getRequestConfig(){    RequestConfig requestConfig = RequestConfig.custom()        .setConnectTimeout(10000)        .setSocketTimeout(10000)        .setConnectionRequestTimeout(6000)        .build(); return requestConfig;  }

設置代理

有時候我們線上訪問外部第三方的接口的時候,不想暴露真實機器的IP,或者我們的機器不能訪問外網(wǎng)的時候,我們可以通過代理服務器來訪問,代理服務器充當內網(wǎng)與外網(wǎng)鏈接的中間人。

httpclient 4.4后設置代理的 IP、端口被封裝到 RequestConfig 對象里,通過 HttpHost 對象封裝代理的 IP、端口和協(xié)議。

這里需要注意的一點是,如果你的目標 URL 是 HTTP 協(xié)議的,那么你的代理也應該是 HTTP 協(xié)議的,如下 HttpHost 的構造方法可以指定代理服務的協(xié)議,不傳默認為 HTTP。

public static RequestConfig getRequestConfig(){    HttpHost proxy = new HttpHost("代理ip",8080,"HTTP");//代理    RequestConfig requestConfig = RequestConfig.custom()        .setProxy(proxy)        .setConnectTimeout(10000)        .setSocketTimeout(10000)        .setConnectionRequestTimeout(6000)        .build();    return requestConfig;  }

然后通過 HttpPost 或 HttpGet 的setConfig()方法使其應用到該 config。

HttpPost httpPost = new HttpPost(url); if(null != requestConfig){  httpPost.setConfig(requestConfig);}

關于java中怎么利用httpclient設置超時時間問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關知識。


當前名稱:java中怎么利用httpclient設置超時時間-創(chuàng)新互聯(lián)
文章URL:http://weahome.cn/article/cecjsd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部