忽略HTTPS校验
This commit is contained in:
parent
a25b8d3321
commit
2fb9c7df83
@ -2,11 +2,15 @@ package com.zhgd.config;
|
|||||||
|
|
||||||
import org.apache.http.Header;
|
import org.apache.http.Header;
|
||||||
import org.apache.http.client.HttpClient;
|
import org.apache.http.client.HttpClient;
|
||||||
|
import org.apache.http.conn.ssl.NoopHostnameVerifier;
|
||||||
|
import org.apache.http.conn.ssl.SSLConnectionSocketFactory;
|
||||||
import org.apache.http.impl.client.DefaultConnectionKeepAliveStrategy;
|
import org.apache.http.impl.client.DefaultConnectionKeepAliveStrategy;
|
||||||
import org.apache.http.impl.client.DefaultHttpRequestRetryHandler;
|
import org.apache.http.impl.client.DefaultHttpRequestRetryHandler;
|
||||||
import org.apache.http.impl.client.HttpClientBuilder;
|
import org.apache.http.impl.client.HttpClientBuilder;
|
||||||
import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;
|
import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;
|
||||||
import org.apache.http.message.BasicHeader;
|
import org.apache.http.message.BasicHeader;
|
||||||
|
import org.apache.http.ssl.SSLContexts;
|
||||||
|
import org.apache.http.ssl.TrustStrategy;
|
||||||
import org.springframework.boot.web.client.RestTemplateBuilder;
|
import org.springframework.boot.web.client.RestTemplateBuilder;
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
@ -16,7 +20,11 @@ import org.springframework.http.converter.StringHttpMessageConverter;
|
|||||||
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
|
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
|
||||||
import org.springframework.web.client.RestTemplate;
|
import org.springframework.web.client.RestTemplate;
|
||||||
|
|
||||||
|
import javax.net.ssl.SSLContext;
|
||||||
import java.nio.charset.Charset;
|
import java.nio.charset.Charset;
|
||||||
|
import java.security.KeyManagementException;
|
||||||
|
import java.security.KeyStoreException;
|
||||||
|
import java.security.NoSuchAlgorithmException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
@ -45,7 +53,7 @@ public class RestTemplateConfig {
|
|||||||
* @return HttpComponentsClientHttpRequestFactory
|
* @return HttpComponentsClientHttpRequestFactory
|
||||||
*/
|
*/
|
||||||
@Bean
|
@Bean
|
||||||
public HttpComponentsClientHttpRequestFactory httpComponentsClientHttpRequestFactory() {
|
public HttpComponentsClientHttpRequestFactory httpComponentsClientHttpRequestFactory() throws NoSuchAlgorithmException, KeyManagementException, KeyStoreException {
|
||||||
//Httpclient连接池,长连接保持30秒
|
//Httpclient连接池,长连接保持30秒
|
||||||
PoolingHttpClientConnectionManager connectionManager = new PoolingHttpClientConnectionManager(30, TimeUnit.SECONDS);
|
PoolingHttpClientConnectionManager connectionManager = new PoolingHttpClientConnectionManager(30, TimeUnit.SECONDS);
|
||||||
|
|
||||||
@ -60,6 +68,9 @@ public class RestTemplateConfig {
|
|||||||
headers.add(new BasicHeader("Accept-Encoding", "gzip, deflate"));
|
headers.add(new BasicHeader("Accept-Encoding", "gzip, deflate"));
|
||||||
headers.add(new BasicHeader("Accept-Language", "zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3"));
|
headers.add(new BasicHeader("Accept-Language", "zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3"));
|
||||||
headers.add(new BasicHeader("Connection", "keep-alive"));
|
headers.add(new BasicHeader("Connection", "keep-alive"));
|
||||||
|
TrustStrategy acceptingTrustStrategy = (x509Certificates, authType) -> true;
|
||||||
|
SSLContext sslContext = SSLContexts.custom().loadTrustMaterial(null, acceptingTrustStrategy).build();
|
||||||
|
SSLConnectionSocketFactory connectionSocketFactory = new SSLConnectionSocketFactory(sslContext, new NoopHostnameVerifier());
|
||||||
|
|
||||||
//创建HttpClient
|
//创建HttpClient
|
||||||
HttpClient httpClient = HttpClientBuilder.create()
|
HttpClient httpClient = HttpClientBuilder.create()
|
||||||
@ -67,6 +78,7 @@ public class RestTemplateConfig {
|
|||||||
.setDefaultHeaders(headers)
|
.setDefaultHeaders(headers)
|
||||||
.setRetryHandler(new DefaultHttpRequestRetryHandler(3, true)) //设置重试次数
|
.setRetryHandler(new DefaultHttpRequestRetryHandler(3, true)) //设置重试次数
|
||||||
.setKeepAliveStrategy(new DefaultConnectionKeepAliveStrategy()) //设置保持长连接
|
.setKeepAliveStrategy(new DefaultConnectionKeepAliveStrategy()) //设置保持长连接
|
||||||
|
.setSSLSocketFactory(connectionSocketFactory)
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
//创建HttpComponentsClientHttpRequestFactory实例
|
//创建HttpComponentsClientHttpRequestFactory实例
|
||||||
@ -81,7 +93,6 @@ public class RestTemplateConfig {
|
|||||||
requestFactory.setConnectionRequestTimeout(200);
|
requestFactory.setConnectionRequestTimeout(200);
|
||||||
//缓冲请求数据,默认为true。通过POST或者PUT大量发送数据时,建议将此更改为false,以免耗尽内存
|
//缓冲请求数据,默认为true。通过POST或者PUT大量发送数据时,建议将此更改为false,以免耗尽内存
|
||||||
requestFactory.setBufferRequestBody(false);
|
requestFactory.setBufferRequestBody(false);
|
||||||
|
|
||||||
return requestFactory;
|
return requestFactory;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user