From f38d69d70e3e126d2f58971d0b4854f2aa144fc1 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期五, 22 八月 2025 14:40:09 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/2.0' into 2.0
---
cloud-server-competition/src/main/java/com/dsh/competition/util/httpClinet/HttpClientUtil.java | 42 +++++++++++++++++++++++++++++++++++++++++-
1 files changed, 41 insertions(+), 1 deletions(-)
diff --git a/cloud-server-competition/src/main/java/com/dsh/competition/util/httpClinet/HttpClientUtil.java b/cloud-server-competition/src/main/java/com/dsh/competition/util/httpClinet/HttpClientUtil.java
index 97b9b6a..f797a93 100644
--- a/cloud-server-competition/src/main/java/com/dsh/competition/util/httpClinet/HttpClientUtil.java
+++ b/cloud-server-competition/src/main/java/com/dsh/competition/util/httpClinet/HttpClientUtil.java
@@ -218,7 +218,25 @@
httpCline.close();
return content;
}
-
+ public static String pushHttpsRequsetXml1(String url, String xml, Map<String, String> header, String certPassword, String certPath, String certType) throws Exception {
+ HttpPost httpPost = new HttpPost(url);
+ for (String key : header.keySet()) {
+ httpPost.setHeader(key, header.get(key));
+ }
+ httpPost.setHeader("Content-Type", "application/xml");
+ httpPost.setEntity(new StringEntity(xml, "UTF-8"));
+ CloseableHttpClient httpCline = initCert1(certPassword, certPath, certType);
+ CloseableHttpResponse httpResponse = httpCline.execute(httpPost);
+ String content = null;
+ if (httpResponse.getStatusLine().getStatusCode() == 200) {
+ content = EntityUtils.toString(httpResponse.getEntity(), "UTF-8");
+ } else {
+ content = "返回状态码:" + httpResponse.getStatusLine() + "。" + EntityUtils.toString(httpResponse.getEntity());
+ }
+ close(httpResponse);
+ httpCline.close();
+ return content;
+ }
/**
* 初始化https对象(带证书)
@@ -242,6 +260,28 @@
SSLConnectionSocketFactory.BROWSER_COMPATIBLE_HOSTNAME_VERIFIER);
return HttpClients.custom().setSSLSocketFactory(sslsf).build();
}
+ /**
+ * 初始化https对象(带证书)
+ *
+ * @param key 证书密码
+ * @param certPath 证书路径
+ * @param certType 证书类型
+ * @throws Exception
+ */
+ private static CloseableHttpClient initCert1(String key, String certPath, String certType) throws Exception {
+ KeyStore keyStore = KeyStore.getInstance(certType);
+ InputStream inputStream = new FileInputStream(new File(certPath));
+ try {
+ keyStore.load(inputStream, key.toCharArray());
+ } finally {
+ inputStream.close();
+ }
+ SSLContext sslcontext = SSLContexts.custom().loadKeyMaterial(keyStore, key.toCharArray()).build();
+ SSLConnectionSocketFactory sslsf =
+ new SSLConnectionSocketFactory(sslcontext, null, null,
+ SSLConnectionSocketFactory.BROWSER_COMPATIBLE_HOSTNAME_VERIFIER);
+ return HttpClients.custom().setSSLSocketFactory(sslsf).build();
+ }
/**
--
Gitblit v1.7.1