当前位置: 代码迷 >> Java相关 >> 解决httpclient访问ssl资源报证书异常的有关问题
  详细解决方案

解决httpclient访问ssl资源报证书异常的有关问题

热度:92   发布时间:2016-04-22 19:14:55.0
解决httpclient访问ssl资源报证书错误的问题
public class HttpsTest {    @SuppressWarnings("deprecation")    public static void main(String[] args) {        try {            SSLContext context = SSLContext.getInstance("SSL");            context.init(null, new TrustManager[] {new X509TrustManager() {                @Override                public void checkClientTrusted(X509Certificate[] paramArrayOfX509Certificate, String paramString)                        throws CertificateException {                }                @Override                public void checkServerTrusted(X509Certificate[] paramArrayOfX509Certificate, String paramString)                        throws CertificateException {                }                @Override                public X509Certificate[] getAcceptedIssuers() {                    return null;                }            }}, new SecureRandom());            HostnameVerifier verifier = new HostnameVerifier() {                public boolean verify(String hostname, SSLSession session) {                    return true;                }            };            SSLConnectionSocketFactory sslConnectionSocketFactory = new SSLConnectionSocketFactory(context, verifier);            HttpClient httpClient = HttpClients.custom().setSSLSocketFactory(sslConnectionSocketFactory).build();            String url = "https://pic2.zhimg.com/6f7c6805962dc58cc21d4df748f18125_xl.jpg";            HttpGet request = new HttpGet(url);            HttpResponse response = httpClient.execute(request);            HttpEntity entity = response.getEntity();            InputStream in = entity.getContent();            byte[] b = new byte[1024];            int len = 0;            OutputStream out = new FileOutputStream("E:/testImage/" + "httpstest.jpg");            while ((len = in.read(b)) != -1) {                out.write(b, 0, len);            }            out.close();        } catch (Exception e) {            e.printStackTrace();        }    }}

 

  相关解决方案