httpclient setHttps2
2016-03-10 16:05
459 查看
public static void setHttps2(DefaultHttpClient httpclient, File file) { try { X509TrustManager trustManager = new X509TrustManager() { @Override public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException { } @Override public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException { } @Override public X509Certificate[] getAcceptedIssuers() { return null; } }; // 创建HostnameVerifier // 用于解决javax.net.ssl.SSLException: hostname in certificate didn't // match: // <123.125.97.66> != <123.125.97.241> X509HostnameVerifier hostnameVerifier = new X509HostnameVerifier() { @Override public void verify(String host, SSLSocket ssl) throws IOException { } @Override public void verify(String host, X509Certificate cert) throws SSLException { } @Override public void verify(String host, String[] cns, String[] subjectAlts) throws SSLException { } @Override public boolean verify(String arg0, SSLSession arg1) { return true; } }; // TLS1.0与SSL3.0基本上没有太大的差别,可粗略理解为TLS是SSL的继承者,但它们使用的是相同的SSLContext SSLContext sslContext = SSLContext .getInstance(SSLSocketFactory.TLS); // 使用TrustManager来初始化该上下文,TrustManager只是被SSL的Socket所使用 sslContext.init(null, new TrustManager[] { trustManager }, null); // 创建SSLSocketFactory SSLSocketFactory socketFactory = new SSLSocketFactory(sslContext, hostnameVerifier); // 通过SchemeRegistry将SSLSocketFactory注册到HttpClient上 httpclient.getConnectionManager().getSchemeRegistry() .register(new Scheme("https", 443, socketFactory)); } catch (Exception e) { log.error(e); } }
相关文章推荐
- 为ElasticSearch添加HTTP基本认证
- jdk6 HttpServer的使用
- HttpClient4.3 例子
- HttpClient4.3教程 第二章 连接管理
- httpclient htmlunit selenium
- jdk http server test
- 转:Java中用HttpsURLConnection访问Https链接的问题
- Java网络编程之JavaMail发送邮件和接受邮件
- 简约之美Jodd-http--应用一箩筐
- http header 详解
- HTTP 断点续传
- Nginx 的 TCP 负载均衡介绍
- 用Apache HttpClient实现URL重定向
- TCP/IP,http,socket,长连接,短连接
- HTTP 断点续传
- 简约之美Jodd-http--深入源码理解http协议
- HttpClient连接池的三篇文章
- httpclient http连接池 源码阅读
- httpclient post 中文问题
- htmlunit 模拟登陆 https