网上很多都需要生成文件导入 使用不便,直接上代码
java11 httpclient情况
private HttpClient createSSLClientDefault() {
try {
SSLContext sslContext = new SSLContextBuilder().loadTrustMaterial(null, (TrustStrategy) (chain, authType) -> true).build();
return HttpClient.newBuilder()
.version(HttpClient.Version.HTTP_2) // default
.followRedirects(HttpClient.Redirect.NORMAL) ///Always redirect, except from HTTPS URLs to HTTP URLs
.proxy(ProxySelector.getDefault())
.connectTimeout(Duration.ofMillis(5000))
.sslContext(sslContext)
.build();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
} catch (KeyManagementException e) {
e.printStackTrace();
} catch (KeyStoreException e) {
e.printStackTrace();
}
}
apache httpclient情况
private HttpClient createSSLClientDefault() {
try {
SSLContext sslContext = new SSLContextBuilder().loadTrustMaterial(null, new TrustStrategy() {
// 信任所有证书
@Override
public boolean isTrusted(X509Certificate[] chain, String authType) throws CertificateException {
return true;
}
}).build();
SSLConnectionSocketFactory sslFactory = new SSLConnectionSocketFactory(sslContext);
return HttpClients.custom().setSSLSocketFactory(sslFactory).build();
} catch (Exception e) {
logger.error("处理Https证书异常", e);
}
return HttpClients.createDefault();
}