java 无视证书请求_java对简单的http请求忽略证书问题

public static String doJsonPostAsHeader(String urlPath, String Json,Map headerMap) {

logger.info("HttpClientUtil 请求地址===========URL》: " + urlPath);

logger.info("HttpClientUtil 请求参数===========》》》: " + Json);

// HttpClient 6.0被抛弃了

String result = "";

BufferedReader reader = null;

try {

//start

TrustManager[] trustAllCerts = new TrustManager[] {new X509TrustManager() {

@Override

public java.security.cert.X509Certificate[] getAcceptedIssuers() {

return null;

}

@Override

public void checkClientTrusted(X509Certificate[] certs, String authType) {

}

@Override

public void checkServerTrusted(X509Certificate[] certs, String authType) {

}

}

};

SSLContext sc = SSLContext.getInstance("SSL");

sc.init(null, trustAllCerts, new java.security.SecureRandom());

HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());

HostnameVerifier allHostsValid = new HostnameVerifier(){

@Override

public boolean verify(String hostname, SSLSession session) {

return true;

}

};

HttpsURLConnection.setDefaultHostnameVerifier(allHostsValid);

// URL url = new URL(https_url);

URL url = new URL(urlPath);

HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();

// HttpsURLConnection conn = (HttpsURLConnection)url.openConnection();

SSLSocketFactory sslSocketFactory = sc.getSocketFactory();

conn.setSSLSocketFactory(sslSocketFactory);

//end

// URL url = new URL(urlPath);

// HttpURLConnection conn = (HttpURLConnection) url.openConnection();

conn.setRequestMethod("POST");

conn.setDoOutput(true);

conn.setDoInput(true);

conn.setUseCaches(false);

conn.setRequestProperty("Connection", "Keep-Alive");

conn.setRequestProperty("Charset", "UTF-8");

// 设置文件类型:

conn.setRequestProperty("Content-Type", "application/json; charset=UTF-8");

// 设置接收类型否则返回415错误

//conn.setRequestProperty("accept","*/*")此处为暴力方法设置接受所有类型,以此来防范返回415;

conn.setRequestProperty("accept", "application/json");

for (String key : headerMap.keySet()) {

conn.setRequestProperty(key, headerMap.get(key).toString());

}

// 往服务器里面发送数据

if (Json != null && !TextUtils.isEmpty(Json)) {

byte[] writebytes = Json.getBytes();

// 设置文件长度

conn.setRequestProperty("Content-Length", String.valueOf(writebytes.length));

OutputStream outwritestream = conn.getOutputStream();

outwritestream.write(Json.getBytes());

outwritestream.flush();

outwritestream.close();

}

if (conn.getResponseCode() == 200) {

reader = new BufferedReader(

new InputStreamReader(conn.getInputStream()));

result = reader.readLine();

}

} catch (Exception e) {

logger.error(e.getMessage(), e);

} finally {

if (reader != null) {

try {

reader.close();

} catch (IOException e) {

logger.error(e.getMessage(), e);

}

}

}

logger.info("HttpClientUtil JSON返回参数===========》》》:" + result);

return result;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值