From 4fabfe4dbd2eb28d07a4350597d314958cc1c281 Mon Sep 17 00:00:00 2001 From: MrShi <1878285526@qq.com> Date: 星期四, 09 十月 2025 11:16:43 +0800 Subject: [PATCH] 优化 --- server/services/src/main/java/com/doumee/core/utils/HttpsUtil.java | 124 +++++++++++++++++++++++++++++++++++++++++ 1 files changed, 124 insertions(+), 0 deletions(-) diff --git a/server/services/src/main/java/com/doumee/core/utils/HttpsUtil.java b/server/services/src/main/java/com/doumee/core/utils/HttpsUtil.java index 09bea1e..809e79d 100644 --- a/server/services/src/main/java/com/doumee/core/utils/HttpsUtil.java +++ b/server/services/src/main/java/com/doumee/core/utils/HttpsUtil.java @@ -4,6 +4,7 @@ import java.io.ByteArrayOutputStream; import java.io.InputStream; import java.io.OutputStream; +import java.net.HttpURLConnection; import java.net.URL; import java.security.KeyManagementException; import java.security.NoSuchAlgorithmException; @@ -19,6 +20,13 @@ public static String post(String url, String data, String contentType, boolean ignoreSSL) { return connection(url, "POST", data, contentType, ignoreSSL); + } + public static String postJsonString(String url, String data) { + if(url.startsWith("https://")){ + return connection(url, "POST", data, "application/json", true); + }else{ + return connectionHttp(url, "POST", data, "application/json"); + } } public static String connection(String url,String method,String data,String contentType,boolean ignoreSSL){ @@ -79,6 +87,80 @@ } return null; } + public static InputStream connectionInputsteam(String url,String method,String data,String contentType ){ + HttpURLConnection connection = null; + try { + URL _url = new URL(url); + connection = (HttpURLConnection) _url.openConnection(); + connection.setRequestMethod(method); + connection.setDoOutput(true); + connection.setDoInput(true); + connection.setUseCaches(false); + if(contentType != null){ + connection.setRequestProperty("Content-Type", contentType); + } + connection.connect(); + if(data != null){ + OutputStream outputStream = connection.getOutputStream(); + outputStream.write(data.getBytes("utf-8")); + outputStream.close(); + } + int responseCode = connection.getResponseCode(); + if (responseCode == HttpsURLConnection.HTTP_OK) { + return connection.getInputStream(); + } + } catch (Exception e) { + e.printStackTrace(); + } finally { + if(connection != null){ + connection.disconnect(); + } + } + return null; + } + public static String connectionHttp(String url,String method,String data,String contentType ){ + HttpURLConnection connection = null; + try { + URL _url = new URL(url); + connection = (HttpURLConnection) _url.openConnection(); + connection.setRequestMethod(method); + connection.setDoOutput(true); + connection.setDoInput(true); + connection.setUseCaches(false); + if(contentType != null){ + connection.setRequestProperty("Content-Type", contentType); + } + + connection.connect(); + + if(data != null){ + OutputStream outputStream = connection.getOutputStream(); + outputStream.write(data.getBytes("utf-8")); + outputStream.close(); + } + + int responseCode = connection.getResponseCode(); + if (responseCode == HttpsURLConnection.HTTP_OK) { + InputStream is = connection.getInputStream(); + byte[] b = new byte[4096]; + ByteArrayOutputStream baos = new ByteArrayOutputStream(b.length); + int len; + while ((len = is.read(b)) != -1) { + baos.write(b, 0, len); + } + is.close(); + return baos.toString("utf-8"); + } + return connection.getResponseMessage(); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if(connection != null){ + connection.disconnect(); + } + } + return null; + } public static void main(String[] args) { @@ -92,6 +174,48 @@ System.out.println(result); } + public static InputStream postJson(String url, String data){ + HttpsURLConnection connection = null; + try { + URL _url = new URL(url); + connection = (HttpsURLConnection) _url.openConnection(); + connection.setRequestMethod("POST"); + connection.setDoOutput(true); + connection.setDoInput(true); + connection.setUseCaches(false); + connection.setRequestProperty("Content-Type", "application/json"); + connection.connect(); + //淇′换鎵�鏈塻sl璇佷功鍜屼富鏈� + TrustManager[] trustManagers = {new HttpsTrustManager()}; + SSLContext context = SSLContext.getInstance("TLS"); + context.init(null, trustManagers, new SecureRandom()); + connection.setSSLSocketFactory(context.getSocketFactory()); + connection.setHostnameVerifier(new HostnameVerifier() { + @Override + public boolean verify(String hostname, SSLSession session) { + return true; + } + }); + if(data != null){ + OutputStream outputStream = connection.getOutputStream(); + outputStream.write(data.getBytes("utf-8")); + outputStream.close(); + } + + int responseCode = connection.getResponseCode(); + if (responseCode == HttpsURLConnection.HTTP_OK) { + InputStream is = connection.getInputStream(); + return is; + } + } catch (Exception e) { + e.printStackTrace(); + } finally { + if(connection != null){ + // connection.disconnect(); + } + } + return null; + } } class HttpsTrustManager implements X509TrustManager { -- Gitblit v1.9.3