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 | 109 ++++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 96 insertions(+), 13 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 920334e..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,19 +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.ByteArrayOutputStream;
-import java.io.InputStream;
-import java.io.OutputStream;
+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) {
@@ -29,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){
@@ -114,6 +189,9 @@
} catch (Exception e) {
e.printStackTrace();
} finally {
+// if(connection != null){
+// connection.disconnect();
+// }
}
return null;
@@ -163,16 +241,21 @@
}
- public static void main(String[] args) {
+ public static void main(String[] args) throws IOException {
//灞�閮ㄤ俊浠绘墍鏈夎瘉涔﹀拰涓绘満
- String result = HttpsUtil.get("https://127.0.0.1:8443/ssl-test/test01.do",true);
- System.out.println(result);
-
- //澶栭儴淇′换鎵�鏈夎瘉涔﹀拰涓绘満
- HttpsTrustManager.allowAllSSL();
- String response = HttpsUtil.get("https://127.0.0.1:8443/ssl-test/test01.do", false);
- System.out.println(result);
-
+ InputStream result = HttpsUtil.connectionInputsteam(
+ "https://atwl.ahzyssl.com/zhyq_ftp/company_documents/20250630/e4205bc2-c5d3-48c7-ae2e-9690c009e481.txt",
+ "GET",null,null );
+ try (BufferedInputStream bufferedInputStream = new BufferedInputStream(result);
+ FileOutputStream outputStream = new FileOutputStream("D://temp.txt")) {
+ byte[] buffer = new byte[1024];
+ int bytesRead;
+ while ((bytesRead = bufferedInputStream.read(buffer)) != -1) {
+ outputStream.write(buffer, 0, bytesRead);
+ }
+ }catch (Exception e){
+ e.printStackTrace();
+ }
}
}
--
Gitblit v1.9.3