使用Spring RestTemplete实现 Https需要自定义ClientHttpRequestFactory;
public class HttpsClientRequestFactory extends SimpleClientHttpRequestFactory {
@Override
protected void prepareConnection(HttpURLConnection connection, String httpMethod) {
try {
if (!(connection instanceof HttpsURLConnection)) {
super.prepareConnection(connection,httpMethod);
}
if(connection instanceof HttpsURLConnection){
HttpsURLConnection httpsConnection = (HttpsURLConnection) connection;
Keystore trusStore = Keystore .getInstance(Keystore .getDefaultType());
TrustStrategy anyTrustStrategy = (x509Certificate, s) -> true;
SSLContext ctx = SSLContext.custom().loadTrustMaterial(trustStore, anyTrusStrategy).build);
httpsConnection .setSSLSocketFactory(ctx.getSocketFactory());
super.prepareConnection(httpsurlconnection, httpMethod);
}
}catch(Exception e){
e.printStackTrace();
}
}