Yan*_*lin 12 java ssl apache-httpcomponents apache-httpclient-5.x
如何使用Apache HttpComponents HttpClient 5.1绕过证书验证错误?
我找到了一个可行的解决方案来绕过 HttpClient 4.5 中的此类错误,建议自定义HttpClient实例:
HttpClient httpClient = HttpClients
.custom()
.setSSLContext(new SSLContextBuilder().loadTrustMaterial(null, TrustAllStrategy.INSTANCE).build())
.setSSLHostnameVerifier(NoopHostnameVerifier.INSTANCE)
.build();
Run Code Online (Sandbox Code Playgroud)
但它不适用于 HttpClient 5.1,因为(which returns)中不存在setSSLContext和方法。setSSLHostnameVerifierHttpClientBuilderHttpClients.custom()
ok2*_*k2c 22
HC 5.1 中有几个专门的构建器可用于执行相同的操作:
CloseableHttpClient httpclient = HttpClients.custom()
.setConnectionManager(PoolingHttpClientConnectionManagerBuilder.create()
.setSSLSocketFactory(SSLConnectionSocketFactoryBuilder.create()
.setSslContext(SSLContextBuilder.create()
.loadTrustMaterial(TrustAllStrategy.INSTANCE)
.build())
.setHostnameVerifier(NoopHostnameVerifier.INSTANCE)
.build())
.build())
.build();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9353 次 |
| 最近记录: |