我正在使用此代码从我们的本地 Trac 系统下载时间线页面:
HttpURLConnection con = (HttpURLConnection) TRAC_TIMELINE_URL.openConnection();
String userpassword = TRAC_USERNAME + ":" + TRAC_PASS;
String encodedAuthorization = new String(Base64.encodeBase64(
userpassword.getBytes(Charsets.ASCII)), Charsets.ASCII);
con.setRequestProperty("Authorization", "Basic " + encodedAuthorization);
InputStream ins = con.getInputStream();
因为 Trac 服务器是通过 HTTPS 访问但具有自签名证书,所以我在调用时遇到以下异常getInputStream
:
javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:PKIX 路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到请求目标的有效证书路径
让它工作的最快方法是什么?我完全可以忽略证书的正确性,因为这个请求将通过 LAN 发出。