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) { } }

 

上一篇:Java测试开发--HttpClient常规用法(九)


下一篇:httpclient for linux demo