java httpclient跳过https证书验证

您所在的位置:网站首页 关闭证书校验 java httpclient跳过https证书验证

java httpclient跳过https证书验证

2023-01-14 14:50| 来源: 网络整理| 查看: 265

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

     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;                }                            }

 

skipHttpsUtil类

 

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;

/** *

 * ClassName: SkipHttpsUtil *

 *

 * Description: httpclient跳过https验证 *

 *

 * Copyright: Copyright (c) 2019 *

 *

 * Company: service *

 * @author: maojinqiang * @CreateDate: 2019-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) {

    }}



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3