码迷,mamicode.com
首页 > Web开发 > 详细

解决httpclient访问ssl资源报证书错误的问题

时间:2016-03-04 10:25:58      阅读:169      评论:0      收藏:0      [点我收藏+]

标签:

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();
        }
    }
}

 

解决httpclient访问ssl资源报证书错误的问题

标签:

原文地址:http://www.cnblogs.com/birkhoff/p/5241081.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!