我是靠谱客的博主 秀丽镜子,最近开发中收集的这篇文章主要介绍java https跳过证书_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,String,return,https,new,import,null,httpclient

来源: https://www.cnblogs.com/java-h/p/14365841.html

最后

以上就是秀丽镜子为你收集整理的java https跳过证书_java httpclient跳过https证书验证的全部内容,希望文章能够帮你解决java https跳过证书_java httpclient跳过https证书验证所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(75)

评论列表共有 0 条评论

立即
投稿
返回
顶部