访问https请求报错:
I/O error on POST request for “https://XXX.org.cn/api/post/ma”:
sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException:
unable to find valid certification path to requested target
原因:
被访问的服务证书有问题
解决办法:
1.导入证书(如果换机器则需要每台机器都导入)
2.忽略证书
忽略证书代码:(借鉴自 https://www.cnblogs.com/zdz8207/p/java-https-ssl-jsoup.html)
public static void trustAllHttpsCertificates() throws Exception {
javax.net.ssl.TrustManager[] trustAllCerts = new javax.net.ssl.TrustManager[1];
javax.net.ssl.TrustManager tm = new miTM();
trustAllCerts[0] = tm;
javax.net.ssl.SSLContext sc = javax.net.ssl.SSLContext
.getInstance("SSL");
sc.init(null, trustAllCerts, null);
javax.net.ssl.HttpsURLConnection.setDefaultSSLSocketFactory(sc
.getSocketFactory());
}