From 02e4e3a9fcfbe2a366fc75868dfa019145cea9d2 Mon Sep 17 00:00:00 2001 From: sinake <sinake1@qq.com> Date: 星期一, 20 十月 2025 15:05:18 +0800 Subject: [PATCH] 市一短信和微信问卷及orgid过滤优化 --- ruoyi-common/src/main/java/com/ruoyi/common/utils/http/HttpUtils.java | 79 ++++++++++++++++++++++++++++++++++++--- 1 files changed, 73 insertions(+), 6 deletions(-) diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/http/HttpUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/http/HttpUtils.java index 41c677b..90d8d52 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/http/HttpUtils.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/http/HttpUtils.java @@ -1,10 +1,7 @@ package com.ruoyi.common.utils.http; import java.io.*; -import java.net.ConnectException; -import java.net.SocketTimeoutException; -import java.net.URL; -import java.net.URLConnection; +import java.net.*; import java.nio.charset.StandardCharsets; import java.security.cert.X509Certificate; import java.util.Map; @@ -16,6 +13,12 @@ import javax.net.ssl.TrustManager; import javax.net.ssl.X509TrustManager; +import org.apache.http.HttpEntity; +import org.apache.http.client.methods.CloseableHttpResponse; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.impl.client.CloseableHttpClient; +import org.apache.http.impl.client.HttpClients; +import org.apache.http.util.EntityUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.ruoyi.common.constant.Constants; @@ -115,6 +118,7 @@ conn.setRequestProperty("connection", "Keep-Alive"); conn.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)"); conn.setRequestProperty("Accept-Charset", "utf-8"); + conn.setRequestProperty("Charsert", "UTF-8"); conn.setRequestProperty("Content-Type", "application/json; charset=UTF-8"); conn.setDoOutput(true); conn.setDoInput(true); @@ -150,7 +154,7 @@ return result.toString(); } - public static String sendPostByHeader(String url, String param, Map<String, String> headers) { + public static String sendPostByHeaderOld(String url, String param, Map<String, String> headers) { PrintWriter out = null; BufferedReader in = null; StringBuilder result = new StringBuilder(); @@ -162,7 +166,7 @@ conn.setRequestProperty("connection", "Keep-Alive"); conn.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)"); conn.setRequestProperty("Accept-Charset", "utf-8"); - conn.setRequestProperty("contentType", "utf-8"); + conn.setRequestProperty("Content-Type", "application/json;charset=UTF-8"); conn.setDoOutput(true); conn.setDoInput(true); if (!Objects.isNull(headers)) { @@ -171,6 +175,7 @@ } } out = new PrintWriter(new OutputStreamWriter(conn.getOutputStream(), StandardCharsets.UTF_8)); + log.info("---------param鍙戦�佺殑鏁版嵁涓�:{}",param); out.print(param); out.flush(); in = new BufferedReader(new InputStreamReader(conn.getInputStream(), StandardCharsets.UTF_8)); @@ -200,6 +205,51 @@ } return result.toString(); } + + public static String sendPostByHeader(String url, String param, Map<String, String> headers) { + StringBuilder result = new StringBuilder(); + HttpURLConnection conn = null; + try { + log.info("sendPost - {}", url); + URL realUrl = new URL(url); + conn = (HttpURLConnection) realUrl.openConnection(); + conn.setRequestMethod("POST"); + conn.setRequestProperty("Accept", "*/*"); + conn.setRequestProperty("Connection", "Keep-Alive"); + conn.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)"); + conn.setRequestProperty("Content-Type", "application/json; charset=UTF-8"); + conn.setDoOutput(true); + conn.setDoInput(true); + + if (headers != null) { + for (Map.Entry<String, String> entry : headers.entrySet()) { + conn.setRequestProperty(entry.getKey(), entry.getValue()); + } + } + + log.info("鍙戦�佸弬鏁帮細{}", param); + try (OutputStream os = conn.getOutputStream()) { + byte[] input = param.getBytes(StandardCharsets.UTF_8); + os.write(input, 0, input.length); + } + + try (BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream(), StandardCharsets.UTF_8))) { + String line; + while ((line = in.readLine()) != null) { + result.append(line); + } + } + } catch (Exception e) { + log.error("璋冪敤 sendPostByHeader 寮傚父锛寀rl={}, param={}", url, param, e); + } finally { + if (conn != null) { + conn.disconnect(); + } + } + return result.toString(); + } + + public static String sendSSLPost(String url, String param) { StringBuilder result = new StringBuilder(); @@ -265,4 +315,21 @@ return true; } } + + public static String sendPost(String url){ + HttpPost post = new HttpPost(url); + CloseableHttpClient client = HttpClients.createDefault(); + //鍚姩鎵ц璇锋眰锛屽苟鑾峰緱杩斿洖鍊� + CloseableHttpResponse execute = null; + try { + execute = client.execute(post); + HttpEntity entity = execute.getEntity(); + //鎶婂疄浣撳璞¤浆鎹负string + return EntityUtils.toString(entity, "UTF-8"); + } catch (IOException e) { + e.printStackTrace(); + } + return "璋冪敤澶辫触"; + } + } -- Gitblit v1.9.3