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

    感谢   java httpclient跳过https证书验证 - 九条尾巴的猫 - 博客园 (cnblogs.com)

    package com.cck.common.Utils;
    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;

    public class SkipHttpsUtil {

    //绕过证书
    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  String sendHttpPost(String url, String regJson) throws Exception {
    SkipHttpsUtil skipHttpsUtil=new SkipHttpsUtil();

    CloseableHttpClient httpClient =(CloseableHttpClient)skipHttpsUtil.wrapClient();
    HttpPost httpPost = new HttpPost(url);
    httpPost.addHeader("Content-Type", "application/json");
    httpPost.setEntity(new StringEntity(regJson,"UTF-8")); //防止中文乱码

    CloseableHttpResponse response = httpClient.execute(httpPost);
    HttpEntity entity = response.getEntity();
    String responseContent = EntityUtils.toString(entity, "UTF-8");
    response.close();
    httpClient.close();
    return responseContent;
    }













  • 相关阅读:
    spring 之 AOP
    spring 之 动态代理
    为 NSDate 添加扩展类 判断时间
    iOS 日期相关总结
    iOS 请求出现 "Request failed: bad request (400)"
    NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9802) 解决办法
    poj-3302
    辽宁省赛——杨鲁斯卡尔专场-J
    辽宁省赛——杨鲁斯卡尔专场 -F
    zzuli训练赛_05_13-D
  • 原文地址:https://www.cnblogs.com/cjb1/p/14025145.html
Copyright © 2011-2022 走看看