public static Map<String,String> sendHttps(Logger logger, String data, String url, Integer connectTimeout, Integer socketTimeout)
throws Exception {
HttpPost httppost = new HttpPost(url);
CloseableHttpResponse response = null;
try {
logger.debug("# 发送地址:{}", url);
logger.debug("# 发送报文:{}", data);
SSLContext sc = SSLContext.getInstance("TLS");
sc.init(null, new TrustManager[] { new TrustManagerFactory() }, null);
SSLConnectionSocketFactory sslsf = new SSLConnectionSocketFactory(sc,
SSLConnectionSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);
// 设置请求和传输超时时间
RequestConfig requestConfig = RequestConfig.custom().setConnectionRequestTimeout(connectTimeout)
.setSocketTimeout(socketTimeout).setConnectTimeout(connectTimeout).build();
CloseableHttpClient httpclient = HttpClients.custom().setSSLSocketFactory(sslsf)
.setDefaultRequestConfig(requestConfig).build();
httppost.setConfig(requestConfig);
httppost.setHeader("accept","*/*");
httppost.setHeader("Accept-Language","en-US");
httppost.setHeader("Authorization","");
httppost.setHeader("Content-Type","application/json");
httppost.setEntity(new StringEntity(data,"UTF-8"));
String result = null;
InputStreamReader reader = null;
Map<String, String> map = new HashMap<>();
try {
response = httpclient.execute(httppost);
logger.debug("# responseCode:{}",response.getStatusLine().getStatusCode());
HttpEntity entity = response.getEntity();
result = EntityUtils.toString(entity);
logger.debug("# 接收报文:{}", result);
map.put("respCode",String.valueOf(response.getStatusLine().getStatusCode()));
map.put("respResult",result);
} finally {
response.close();
if (reader != null) {
reader.close();
}
}
// 返回报文
return map;
} catch (ClientProtocolException e) {
throw new IOException("HTTP网络错误" + e);
} catch (IOException e) {
throw new IOException("IO网络错误" + e);
} catch (Exception e) {
throw new Exception("系统错误" + e);
} finally {
// 关闭连接
if (httppost != null) {
httppost.releaseConnection();
}
}
}
HTTPS发送请求,忽略安全证书
最新推荐文章于 2024-08-08 10:38:30 发布