zoukankan      html  css  js  c++  java
  • java httpclient跳过https证书验证

    
    
      httpclien调用skipHttpsUtil得wrapClient方法跳过https证书验证



    //POST SkipHttpsUtil skipHttpsUtil
    =new SkipHttpsUtil(); CloseableHttpClient httpclient = null; CloseableHttpResponse response = null; try { httpclient = (CloseableHttpClient)skipHttpsUtil.wrapClient(); HttpPost post = new HttpPost(url); String json = "{"image":""+"ddd"+ "","Type":""+"ddddd"+ "","Flag":""+"dddd"+""}"; StringEntity postingString = new StringEntity(json,"utf-8");// json传递 post.setEntity(postingString); post.setHeader("Content-type", "application/json"); response = httpclient.execute(post); String result = EntityUtils.toString(response.getEntity()); JSONObject js=JSONObject.parseObject(result); } catch (Exception e) { e.printStackTrace(); mResultCode = "E"; return false; } finally { try { response.close(); httpclient.close(); } catch (IOException e) { e.printStackTrace(); mResultCode = "E"; return false; } }


    //GET

    public static String doGet(String strUrl ){  
            String strReturn="";   
            HttpGet httpGet = new HttpGet(strUrl);  
            CloseableHttpClient httpclient = null;   
            CloseableHttpResponse response1=null;  
            try {  
                httpclient = (CloseableHttpClient)wrapClient();//HttpClients.createDefault();  
                response1 = httpclient.execute(httpGet);   
                HttpEntity entity1 = response1.getEntity();   
                strReturn=EntityUtils.toString(entity1) ;  
                EntityUtils.consume(entity1);   
            }catch(Exception e){   
                e.printStackTrace();  
            }finally {    
                    try {  
                         if(response1!=null)  
                        response1.close();  
                    } catch (IOException e) {   
                        e.printStackTrace();  
                    }  
            }  
            System.out.println(strReturn);
            return strReturn;  
        }
    package com.life.util; import java.security.cert.CertificateException; import java.security.cert.X509Certificate; import javax.net.ssl.SSLContext; import javax.net.ssl.TrustManager; import javax.net.ssl.X509TrustManager; import org.apache.http.client.HttpClient; import org.apache.http.conn.ssl.NoopHostnameVerifier; import org.apache.http.conn.ssl.SSLConnectionSocketFactory; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.apache.log4j.Logger; /**
    * skipHttpsUtil类
    * Description: httpclient跳过https验证 * @author: hsw * @CreateDate: 2020-08-26 */ public class SkipHttpsUtil { private static Logger logger = Logger.getLogger(SkipHttpsUtil.class); //绕过证书 public static HttpClient wrapClient() { try { SSLContext ctx = SSLContext.getInstance("TLS"); X509TrustManager tm = new X509TrustManager() { public X509Certificate[] getAcceptedIssuers() { return null; } public void checkClientTrusted(X509Certificate[] arg0, String arg1) throws CertificateException { } public void checkServerTrusted(X509Certificate[] arg0, String arg1) throws CertificateException { } }; ctx.init(null, new TrustManager[] { tm }, null); SSLConnectionSocketFactory ssf = new SSLConnectionSocketFactory( ctx, NoopHostnameVerifier.INSTANCE); CloseableHttpClient httpclient = HttpClients.custom() .setSSLSocketFactory(ssf).build(); return httpclient; } catch (Exception e) { return HttpClients.createDefault(); } } public static void main(String[] args) { } }
    你所拥抱的并不总是拥抱你
  • 相关阅读:
    原生js实现Ajax请求,包含get和post
    JSP和Servlet的关系
    框架、框架模式和设计模式
    Java技术综述
    传输层和网络层区别(形象解释)
    Vue基本用法:过滤器、生命周期钩子函数和利用webpack 生成项目
    Vue基本用法:组件
    Vue基本用法:计算属性、监听器和表单输入绑定
    Vue基本用法:模板语法和指令系统
    win10想说爱你不容易——安装.net3.5也是一个坑(已有完美解决方法)
  • 原文地址:https://www.cnblogs.com/java-h/p/14365841.html
Copyright © 2011-2022 走看看