轉自:
http://www.java265.com/JavaCourse/202204/2940.html
HttpClient是一個java語言撰寫的包,
我們使用HttpClient可以非常方便的發送Http請求
它使基于Http協議請求內容變得非常簡單
HttpClient是Apache Jakarta Common下的子專案 它里面封裝了很多使用http協議訪問的工具,可用于高效訪問http
下文筆者講述基于HttpClient的RequestConfig配置的示例分享,如下所示:
RequestConfig是httpClient中用于連接設定的物件 下文筆者將通過示例的方式,講述RequestConfig的配置案例,如下所示:
例:
public void requestConfig(){
// 新建一個RequestConfig:
RequestConfig defaultRequestConfig = RequestConfig.custom()
//一、連接目標服務器超時時間:ConnectionTimeout-->指的是連接一個url的連接等待時間
.setConnectTimeout(5000)
//二、讀取目標服務器資料超時時間:SocketTimeout-->指的是連接上一個url,獲取response的回傳等待時間
.setSocketTimeout(5000)
//三、從連接池獲取連接的超時時間:ConnectionRequestTimeout
.setConnectionRequestTimeout(5000)
.build();
// 這個超時可以設定為客戶端級別,作為所有請求的默認值:
CloseableHttpClient httpclient = HttpClients.custom()
.setDefaultRequestConfig(defaultRequestConfig)
.build();
// httpclient.execute(httppost);的時候可以讓httppost直接享受到httpclient中的默認配置.
// Request不會繼承客戶端級別的請求配置,所以在自定義Request的時候,需要將客戶端的默認配置拷貝過去:
HttpGet httpget = new HttpGet("http://www.apache.org/");
RequestConfig requestConfig = RequestConfig.copy(defaultRequestConfig)
.setProxy(new HttpHost("myotherproxy", 8080))
.build();
httpget.setConfig(requestConfig);
// httpget可以單獨地使用新copy的requestConfig請求配置,不會對別的request請求產生影響
}
參考資料:http://www.java265.com/JavaCourse/202204/2934.html HttpUtils工具類
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/500107.html
標籤:其他
