HttpClient升級部分類和方法過時,故整理新版處理方式
注:本博文僅爲個人技術記錄及學習交流
httpclient版本:4.5.11
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.11</version>
</dependency>
關鍵代碼如下:
爲減少篇幅統一寫在一個方法中
public static CloseableHttpClient getSSLClient () {
CloseableHttpClient client = null;
try {
X509TrustManager tm = new X509TrustManager() {
@Override
public X509Certificate[] getAcceptedIssuers () {
return null;
}
@Override
public void checkClientTrusted (X509Certificate[] cert, String oauthType) throws CertificateException {
}
@Override
public void checkServerTrusted (X509Certificate[] cert, String oauthType) throws CertificateException {
}
};
SSLContext ctx = SSLContext.getInstance("TLS");
ctx.init(null, new TrustManager[]{tm}, null);
SSLConnectionSocketFactory socketFactory = new SSLConnectionSocketFactory(ctx, NoopHostnameVerifier.INSTANCE);
// 配置請求參數
RequestConfig reqConfig = RequestConfig.custom()
.setCookieSpec(CookieSpecs.STANDARD_STRICT)
.setExpectContinueEnabled(Boolean.TRUE)
.setTargetPreferredAuthSchemes(Arrays.asList(AuthSchemes.NTLM, AuthSchemes.DIGEST))
.setProxyPreferredAuthSchemes(Arrays.asList(AuthSchemes.BASIC))
.setConnectionRequestTimeout(10000)
.setConnectTimeout(10000)
.setSocketTimeout(10000)
.build();
// 配置Registry
Registry<ConnectionSocketFactory> socketFactoryRegistry = RegistryBuilder.<ConnectionSocketFactory>create()
.register("http", PlainConnectionSocketFactory.INSTANCE)
.register("https", socketFactory).build();
// 配置Connection
PoolingHttpClientConnectionManager connectionManager = new PoolingHttpClientConnectionManager(socketFactoryRegistry);
// 連接池最大連接數
connectionManager.setMaxTotal(1000);
// 每個路由最大連接數
connectionManager.setDefaultMaxPerRoute(20);
client = HttpClients.custom()
.setConnectionManager(connectionManager)
.setDefaultRequestConfig(reqConfig).build();
} catch (KeyManagementException e) {
e.printStackTrace();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
return client;
}
鳴謝:
https://blog.csdn.net/zhuzhezhuzhe1/article/details/80508971