您的位置:首页 > 理论基础 > 计算机网络

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

2016-03-04 10:12 573 查看
创建一个自定义httpclient

public static HttpClient getHttpsClient() {
HttpClient httpClient = null;
SSLContext context;
try {
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 = HttpClients.custom().setSSLSocketFactory(sslConnectionSocketFactory).build();
} catch (Exception e) {
e.printStackTrace();
}
return httpClient;
}


访问https资源

HttpClient httpClient = Tool.getHttpsClient();
String url = "https://pic2.zhimg.com/6f7c6805962dc58cc21d4df748f18125_xl.jpg";
HttpGet request = new HttpGet(url);
HttpResponse response = httpClient.execute(request);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: