/** * 获取SSL验证的HttpClient * * @param httpClient * @return */ public static HttpClient getSSLInstance(HttpClient httpClient) { ClientConnectionManager ccm = httpClient.getConnectionManager(); SchemeRegistry sr = ccm.getSchemeRegistry(); sr.register(new Scheme("https", MySSLSocketFactory.getInstance(), 443)); httpClient = new DefaultHttpClient(ccm, httpClient.getParams()); return httpClient; }
/** * register http and https scheme, and got ThreadSafeClientConnManager * * @return ThreadSafeClientConnManager */ private ThreadSafeClientConnManager createClientConnManager(BasicHttpParams httpParams) { SchemeRegistry schemeRegistry = new SchemeRegistry(); SSLSocketFactory socketFactory = MySSLSocketFactory.getFixedSocketFactory(); schemeRegistry.register( new Scheme( Consts.SCHEME_HTTP, PlainSocketFactory.getSocketFactory(), HttpConfig.DEFAULT_HTTP_PORT)); schemeRegistry.register( new Scheme(Consts.SCHEME_HTTPS, socketFactory, HttpConfig.DEFAULT_HTTPS_PORT)); return new ThreadSafeClientConnManager(httpParams, schemeRegistry); }