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 |   80 +++++++++++++++++++++++++++++++++++++++
 1 files changed, 79 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 72105c9..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) {
@@ -27,6 +45,65 @@
         }else{
             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){
@@ -115,6 +192,7 @@
 //            if(connection != null){
 //                connection.disconnect();
 //            }
+
         }
         return null;
     }

--
Gitblit v1.9.3