Httpclient 实现https请求,绕过SSL 方法

import java.security.KeyManagementException;  
import java.security.KeyStoreException;  
import java.security.NoSuchAlgorithmException;  
import java.security.cert.CertificateException;  
import java.security.cert.X509Certificate;  
  
import javax.net.ssl.SSLContext;  
  
import org.apache.http.conn.ssl.SSLConnectionSocketFactory;  
import org.apache.http.conn.ssl.TrustStrategy;  
import org.apache.http.impl.client.CloseableHttpClient;  
import org.apache.http.impl.client.HttpClients;  
import org.apache.http.ssl.SSLContextBuilder;  
  
public class HttpclientUtil {  
    public CloseableHttpClient createSSLClientDefault(){  
        try {  
             SSLContext sslContext = new SSLContextBuilder().loadTrustMaterial(null, new TrustStrategy() {  
                 //信任所有  
                 public boolean isTrusted(X509Certificate[] chain,  
                                 String authType) throws CertificateException {  
                     return true;  
                 }  
             }).build();  
             SSLConnectionSocketFactory sslsf = new SSLConnectionSocketFactory(sslContext);  
             return HttpClients.custom().setSSLSocketFactory(sslsf).build();  
         } catch (KeyManagementException e) {  
             e.printStackTrace();  
         } catch (NoSuchAlgorithmException e) {  
             e.printStackTrace();  
         } catch (KeyStoreException e) {  
             e.printStackTrace();  
         }  
        return  HttpClients.createDefault();  
    }  
}  

 

posted @ 2018-03-06 22:22  沃泽法克  阅读(599)  评论(0编辑  收藏  举报