配置http连接池和设置绕过https认证有冲突,之前配置的时候一直有报错,最终通过下面方式解决了,需要的可以看一下。
//配置http连接池以及跳过https验证
static {
try {
SSLContext ctx = SSLContext.getInstance("TLSv1.2");
X509TrustManager trustManager = new X509TrustManager() {
@Override
public X509Certificate[] getAcceptedIssuers() {
return null;
}
@Override
public void checkClientTrusted(X509Certificate[] arg0, String arg1) throws CertificateException {
}
@Override
public void checkServerTrusted(X509Certificate[] arg0, String arg1) throws CertificateException {
}
};
ctx.init(null, new TrustManager[]{trustManager}, null);
SSLConnectionSocketFactory ssf = new SSLConnectionSocketFactory(ctx, NoopHostnameVerifier.INSTANCE);
httpClient = HttpClients.custom()
.setMaxConnTotal(400)
.setMaxConnPerRoute(200)
.setSSLSocketFactory(ssf)
.build();
} catch (Exception e) {
httpClient = HttpClients.custom()
.setMaxConnTotal(400)
.setMaxConnPerRoute(200)
.build();
LOG.error(e.getMessage(), e);
}
}