package util;

import java.security.cert.CertificateException;

import javax.net.ssl.SSLContext;
import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;
import javax.security.cert.X509Certificate;

import org.apache.http.client.HttpClient;
import org.apache.http.conn.scheme.Scheme;
import org.apache.http.conn.scheme.SchemeRegistry;
import org.apache.http.conn.ssl.SSLSocketFactory;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager;

public class WebClientDevWrapper {

public static HttpClient wrapClient(HttpClient base) {
try {
SSLContext ctx = SSLContext.getInstance("TLS");
X509TrustManager tm = new X509TrustManager() {
public java.security.cert.X509Certificate[] getAcceptedIssuers() {
return null;
}
public void checkClientTrusted(X509Certificate[] arg0,
String arg1) throws CertificateException {

}
public void checkServerTrusted(X509Certificate[] arg0,
String arg1) throws CertificateException {

}
@Override
public void checkClientTrusted(
java.security.cert.X509Certificate[] chain,
String authType) throws CertificateException {
// TODO Auto-generated method stub

}
@Override
public void checkServerTrusted(
java.security.cert.X509Certificate[] chain,
String authType) throws CertificateException {
// TODO Auto-generated method stub

}
};
ctx.init(null, new TrustManager[] { tm }, null);
SSLSocketFactory ssf = new SSLSocketFactory(ctx, SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);
SchemeRegistry registry = new SchemeRegistry();
registry.register(new Scheme("https", 443, ssf));
ThreadSafeClientConnManager mgr = new ThreadSafeClientConnManager(registry);
return new DefaultHttpClient(mgr, base.getParams());
} catch (Exception ex) {
ex.printStackTrace();
return null;
}
}

public static HttpClient getClient(HttpClient client){
return wrapClient(client);
}

}

最新文章

  1. A Font Lover
  2. how spring resolves a request
  3. nodejs学习笔记<三>关于路由(url)
  4. 使用RockMongo管理MongoDB
  5. HDU 2126 (背包方法数) Buy the souvenirs
  6. TIMAC 学习笔记(二)
  7. jQuery Table2CSV插件(表格转CSV) 完美支持colspan和rowspan
  8. store procedure example
  9. Java开源建站工具
  10. 创建组合索引SQL从1个多小时到1S的案例
  11. JS正则表达式收集篇
  12. MapReduce程序依赖的jar包
  13. MyBatis CRUD Java POJO操作
  14. SaaS模式应用之多租户系统开发(单数据库多Schema设计)
  15. [转载] FreeMarker教程
  16. TextView 的新特性,Autosizing 到底是如何实现的? | 源码分析
  17. CURL post/get提交
  18. 使用后台线程BackgroundWorker处理任务的总结
  19. CString 成员函数用法
  20. python 全栈开发,Day91(Vue实例的生命周期,组件间通信之中央事件总线bus,Vue Router,vue-cli 工具)

热门文章

  1. react-transition-group v2 用法概述
  2. HDU 1033 Edge[地图型模拟/给你一串字符串,A代表以此点为参照顺时针90°,V代表逆时针90°]
  3. Codeforces 922F Divisibility (构造 + 数论)
  4. 快速建立ssh互信(转)
  5. 从C的声明符到Objective-C的Blocks语法
  6. 实例化Spring容器的两种常用方式
  7. Codis的安装
  8. jquery插件jTemplates使用方法
  9. 使用聚合数据API查询快递数据-短信验证码-企业核名
  10. 数据结构基础-Hash Table详解(转)