https://maps.googleapis.com/****
import HttpClient 等类设置代理访问。
HttpHost proxy = new HttpHost("***",8080,"http");
HttpGet request = new HttpGet("https://maps.googleapis.com/*******");
CloseableHttpClient httpClient = HttpClients.custom().setProxy(proxy).build();
CloseableHttpResponse response = httpClient.execute(request);
System.out.println(EntityUtils.toString(response.getEntity()));
报错误如下:
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)
at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1884)
at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:276)
at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:270)
解决办法 jdk1.7换成1.8。可能导致原因是httpclient版本依赖于1.8.
方法来源