PKIX Path Building Failed:
这个错误涉及到公钥基础设施(Public Key Infrastructure, PKIX),它是用于验证SSL/TLS证书完整性的标准过程。当Java安全框架试图从服务器提供的证书构建一条到可信根证书颁发机构(Certificate Authority, CA)的信任路径时,如果无法建立这条信任链,就会抛出这个异常。
解决方案:
要么关闭SSL认证,要么用http请求。或者,换个思路,调过SSL认证,下面来看下httpGet请求如何调过SSL认证。
HttpClient httpClient = HttpClients.createDefault();
HttpGet httpGet = new HttpGet(url);
for (Map.Entry<String, String> entry : headers.entrySet()) {
httpGet.addHeader(entry.getKey(), entry.getValue());
}
httpGet.setURI(new java.net.URI(url + "?" + queryString.toString()));
return httpClient.execute(httpGet);
上面的代码是没有忽略SSL认证的代码。在httpClient初始化的时候,改成如下代码即可。