使用HttpClient访问https 站点时,如果JRE或者JDK没有导入某个站点的证书,则会报如下错误:
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
此处以访问天气预报的服务为例,演示相关问题和解决方法。
示例, 访问城市天气预报
在浏览器中通过以下地址可以访问某个城市的天气预报:
https://free-api.heweather.com/v5/forecast?city=CN101220101&key=5c043b56de9f4371b0c7f8bee8f5b75e
返回的结果如下: