public static HttpClient createIgnoreSslClient() throws NoSuchAlgorithmException, KeyStoreException, KeyManagementException {
SSLConnectionSocketFactory sslConnectionSocketFactory = new SSLConnectionSocketFactory(
SSLContexts.custom().loadTrustMaterial(null, (x509Certificates, s) -> true).build(),
NoopHostnameVerifier.INSTANCE);
Registry<ConnectionSocketFactory> socketFactoryRegistry = RegistryBuilder.<ConnectionSocketFactory>create()
.register("http", PlainConnectionSocketFactory.INSTANCE)
.register("https", sslConnectionSocketFactory)
.build();
PoolingHttpClientConnectionManager connectionManager = new PoolingHttpClientConnectionManager(socketFactoryRegistry);
connectionManager.setMaxTotal(500);
connectionManager.setDefaultMaxPerRoute(connectionManager.getMaxTotal() / 5);
RequestConfig requestConfig = RequestConfig.custom()
.setConnectTimeout(3000)
.setConnectionRequestTimeout(3000)
.setSocketTimeout(3000)
.build();
return HttpClients.custom()
.setConnectionManager(connectionManager)
.setDefaultRequestConfig(requestConfig)
.setKeepAliveStrategy((response, context) -> TimeUnit.SECONDS.toMillis(600))
.setRetryHandler((exception, executionCount, context) -> false).build();
}