HttpClient忽略证书访问HTTPS接口
来源:互联网 发布:京东运营和淘宝运营 编辑:程序博客网 时间:2024/05/16 17:06
HttpClient 如何忽略证书验证访问HTTPS接口,解决步骤如下:
1. 设置可以访问HTTPS
- /**
- * @Title: getNewHttpClient
- * @Description: Methods Description
- * @param @return
- * @return HttpClient
- * @throws
- */
- private HttpClient getNewHttpClient() {
- try {
- KeyStore trustStore = KeyStore.getInstance(KeyStore
- .getDefaultType());
- trustStore.load(null, null);
- SSLSocketFactory sf = new SSLSocketFactory(trustStore);
- sf.setHostnameVerifier(SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);
- HttpParams params = new BasicHttpParams();
- HttpProtocolParams.setVersion(params, HttpVersion.HTTP_1_1);
- HttpProtocolParams.setContentCharset(params, HTTP.UTF_8);
- SchemeRegistry registry = new SchemeRegistry();
- registry.register(new Scheme(“http”, PlainSocketFactory
- .getSocketFactory(), 80));
- registry.register(new Scheme(“https”, sf, 443));
- ClientConnectionManager ccm = new ThreadSafeClientConnManager(
- params, registry);
- return new DefaultHttpClient(ccm, params);
- } catch (Exception e) {
- return new DefaultHttpClient();
- }
- }
2. 忽略证书验证,使用HttpClient访问HTTPS接口
- DefaultHttpClient httpclient = (DefaultHttpClient) getNewHttpClient();
- try {
- //Secure Protocol implementation.
- SSLContext ctx = SSLContext.getInstance(”SSL”);
- //Implementation of a trust manager for X509 certificates
- X509TrustManager tm = new X509TrustManager() {
- public void checkClientTrusted(X509Certificate[] xcs,
- String string) throws CertificateException {
- }
- public void checkServerTrusted(X509Certificate[] xcs,
- String string) throws CertificateException {
- }
- public X509Certificate[] getAcceptedIssuers() {
- return null;
- }
- };
- ctx.init(null, new TrustManager[] { tm }, null);
- SSLSocketFactory ssf = new SSLSocketFactory(ctx);
- ClientConnectionManager ccm = httpclient.getConnectionManager();
- //register https protocol in httpclient’s scheme registry
- SchemeRegistry sr = ccm.getSchemeRegistry();
- sr.register(new Scheme(“https”, 443, ssf));
- } catch (Exception e) {
- e.printStackTrace();
- }
- HttpGet httpGet = new HttpGet(httpGetUrl);
- HttpResponse response = httpclient.execute(httpGet, localContext);
0 0
- HttpClient忽略证书访问HTTPS接口
- HttpClient忽略证书访问HTTPS接口
- HttpClient忽略证书访问HTTPS接口()
- HttpClient忽略证书访问HTTPS接口
- httpclient https忽略证书
- java 访问https忽略证书
- 使用 httpclient 访问https接口问题(无证书访问https接口)
- httpclient https忽略证书直接请求
- httpclient忽略证书验证允许https请求
- java httpclient 无证书访问 https
- httpclient访问未知证书的https网站
- httpclient 4.5.2 https协议时忽略服务器证书
- httpclient/RestTemplate,asynchttpclient设置忽略https,ssl证书
- httpclient发送https的get请求忽略证书
- 通过HttpClient调用接口时忽略SSL证书验证
- https 忽略证书
- java在访问https资源时,忽略证书信任问题
- java在访问https资源时,忽略证书信任问题
- android中的setFocusable(Boolean T)和setFocusableInTouchMode(Boolean T)的区别
- Android-Soundpool(音频池)实例
- 游戏服务器:到底使用UDP还是TCP
- Maven核心配置文件
- JAVA从入门到精通(3)
- HttpClient忽略证书访问HTTPS接口
- JavaWeb中的路径考察
- FileMapping漫谈
- Android-多列表的项目(Rxjava+Rtrofit+Recyclerview+Glide+Adapter封装)之(一)项目架构
- java写二元一次方程组求解
- 54. Spiral Matrix
- 错误记录
- Windows下用VS2015编译FreeSWITCH
- RunLoop详解