From f67e78a754fb8d7364d35aaafb0295690a4cc810 Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期三, 03 十二月 2025 10:37:06 +0800
Subject: [PATCH] 最新版本541200007
---
server/system_service/src/main/java/com/doumee/core/utils/HttpsUtil.java | 79 +++++++++++++++++++++++++++++++++++++++
1 files changed, 78 insertions(+), 1 deletions(-)
diff --git a/server/system_service/src/main/java/com/doumee/core/utils/HttpsUtil.java b/server/system_service/src/main/java/com/doumee/core/utils/HttpsUtil.java
index e7845db..244f654 100644
--- a/server/system_service/src/main/java/com/doumee/core/utils/HttpsUtil.java
+++ b/server/system_service/src/main/java/com/doumee/core/utils/HttpsUtil.java
@@ -1,17 +1,35 @@
package com.doumee.core.utils;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.http.HttpEntity;
+import org.apache.http.ParseException;
+import org.apache.http.auth.AuthScope;
+import org.apache.http.auth.UsernamePasswordCredentials;
+import org.apache.http.client.ClientProtocolException;
+import org.apache.http.client.CredentialsProvider;
+import org.apache.http.client.config.RequestConfig;
+import org.apache.http.client.methods.CloseableHttpResponse;
+import org.apache.http.client.methods.HttpDelete;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.client.methods.HttpRequestBase;
+import org.apache.http.entity.StringEntity;
+import org.apache.http.impl.client.BasicCredentialsProvider;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.impl.client.HttpClients;
+import org.apache.http.util.EntityUtils;
import org.springframework.http.HttpMethod;
import javax.net.ssl.*;
import java.io.*;
import java.net.HttpURLConnection;
+import java.net.URI;
import java.net.URL;
import java.security.KeyManagementException;
import java.security.NoSuchAlgorithmException;
import java.security.SecureRandom;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
-
+@Slf4j
public class HttpsUtil {
public static String get(String url,boolean ignoreSSL) {
@@ -28,6 +46,65 @@
return connectionHttp(url, "POST", data, "application/json");
}
}
+ private static final int CONNECT_TIMEOUT =10000;// 璁剧疆杩炴帴寤虹珛鐨勮秴鏃舵椂闂翠负10s
+ private static final int SOCKET_TIMEOUT = 10000;//socket璇诲啓瓒呮椂鏃堕棿(鍗曚綅姣)
+
+ private static void setRequestConfig(HttpRequestBase httpRequestBase) {
+ RequestConfig requestConfig = RequestConfig.custom().setConnectionRequestTimeout(CONNECT_TIMEOUT)
+ .setConnectTimeout(CONNECT_TIMEOUT).setSocketTimeout(SOCKET_TIMEOUT).build();
+ httpRequestBase.setConfig(requestConfig);
+ }
+
+ public static String doPostHk(String host,int port,String UserName,String Password,String url, String Input) {
+ try {
+ CloseableHttpResponse responseBody = null;
+ HttpPost httpPost = new HttpPost("http://"+host+":"+port+url);
+ setRequestConfig(httpPost);
+ httpPost.setEntity(new StringEntity(Input, "UTF-8"));
+ CredentialsProvider credsProvider = new BasicCredentialsProvider();
+ credsProvider.setCredentials(new AuthScope(host, port),
+ new UsernamePasswordCredentials(UserName, Password));
+ CloseableHttpClient httpClient = HttpClients.custom().setDefaultCredentialsProvider(credsProvider).build();
+
+ String response = "";
+
+ // 鐢卞鎴风鎵ц(鍙戦��)Post璇锋眰
+ responseBody = httpClient.execute(httpPost);
+ // 浠庡搷搴旀ā鍨嬩腑鑾峰彇鍝嶅簲瀹炰綋
+ HttpEntity responseEntity = responseBody.getEntity();
+ log.error("doPostHk鍝嶅簲鐘舵�佷负:" + responseBody.getStatusLine());
+ if (responseBody.getStatusLine().getStatusCode() == 302){
+ String redirectLocation = responseBody.getHeaders("Location")[0].getValue();
+ log.error("doPostHkRedirected to: " + redirectLocation);
+ // 鍦ㄨ繖閲岋紝浣犲彲浠ュ彂閫佷竴涓柊鐨勮姹傚埌redirectLocation
+ httpPost.setURI(URI.create(redirectLocation));
+ CloseableHttpResponse responseBody2 = httpClient.execute(httpPost);
+ log.error("doPostHk閲嶅畾鍚戝悗鍝嶅簲鐘舵�佷负:" + responseBody2.getStatusLine());
+ HttpEntity responseEntity2 = responseBody2.getEntity();
+ log.error("doPostHk閲嶅畾鍚戝悗鍝嶅簲鍐呭闀垮害涓�:" + responseEntity2.getContentLength());
+ response = EntityUtils.toString(responseEntity2);
+ log.error("doPostHk閲嶅畾鍚戝悗鍝嶅簲鍐呭涓�:\n" + response);
+ responseBody2.close();
+ return response;
+ }else {
+ if (responseEntity != null) {
+ log.error("doPostHk鍝嶅簲鍐呭闀垮害涓�:" + responseEntity.getContentLength());
+ response = EntityUtils.toString(responseEntity);
+ log.error("doPostHk鍝嶅簲鍐呭涓�:\n" + response);
+ return response;
+ }
+ }
+ if (httpClient != null) {
+ httpClient.close();
+ }
+ if (responseBody != null) {
+ responseBody.close();
+ }
+ } catch (Exception e) {
+ log.error("doPostHk鍙戣捣璇锋眰寮傚父:\n" + e.getMessage());
+ }
+ return null;
+ }
public static String connection(String url,String method,String data,String contentType,boolean ignoreSSL){
HttpsURLConnection connection = null;
--
Gitblit v1.9.3