604
技術社區[雲棲]
《HttpClient官方文檔》1.2 HttpClient 接口
1.2. HttpClient 接口
HttpClient 接口表示最基本的HTTP請求執行要約。它不會對請求執行過程加上約束或一些特定的信息,並且保留連接管理,狀態管理,認證和處理重定向的細節到各自的實現中。這會使它更方便的使用額外功能來裝飾接口,如響應內容緩存。
通常來說, HttpClient接口的實現負責處理特定方麵的HTTP協議,比如重定向、身份認證處理、對連接的持久性和維持連接存活長短的決策之類的多個處理程序和策略接口實現的門麵。 這使得用戶能夠有選擇性的將一些自定義的,基於特定應用的實現來替換默認的。
ConnectionKeepAliveStrategy keepAliveStrat = new DefaultConnectionKeepAliveStrategy() {
@Override
public long getKeepAliveDuration(
HttpResponse response,
HttpContext context) {
long keepAlive = super.getKeepAliveDuration(response, context);
if (keepAlive == -1) {
// Keep connections alive 5 seconds if a keep-alive value
// has not be explicitly set by the server
keepAlive = 5000;
}
return keepAlive;
}
};
CloseableHttpClient httpclient = HttpClients.custom()
.setKeepAliveStrategy(keepAliveStrat)
.build();
當CloseableHttpClient類的一個實例不再被調用或即將超出連接管理器關聯的範圍時, 必須通過調用CloseableHttpClient#close()方法來關閉它
CloseableHttpClient httpclient = HttpClients.createDefault();
try {
<...>
} finally {
httpclient.close();
}
最後更新:2017-05-19 13:32:28