From ebf4b72af820750b3207b7bee6881252b79eed31 Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期二, 23 十二月 2025 11:25:52 +0800
Subject: [PATCH] 【市一】微信公众号-增加中文乱码处理

---
 ruoyi-common/src/main/java/com/ruoyi/common/utils/http/HttpUtils.java |   73 +++++++++++++++++++++++++++++++++++-
 1 files changed, 71 insertions(+), 2 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 a3401b8..ae8fe92 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
@@ -13,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;
@@ -112,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);
@@ -168,7 +175,7 @@
                 }
             }
             out = new PrintWriter(new OutputStreamWriter(conn.getOutputStream(), StandardCharsets.UTF_8));
-            log.error("---------param鍙戦�佺殑鏁版嵁涓�:{}",param);
+            log.info("---------param鍙戦�佺殑鏁版嵁涓�:{}",param);
             out.print(param);
             out.flush();
             in = new BufferedReader(new InputStreamReader(conn.getInputStream(), StandardCharsets.UTF_8));
@@ -220,7 +227,7 @@
                 }
             }
 
-            log.error("鍙戦�佸弬鏁帮細{}", param);
+            log.info("鍙戦�佸弬鏁帮細{}", param);
             try (OutputStream os = conn.getOutputStream()) {
                 byte[] input = param.getBytes(StandardCharsets.UTF_8);
                 os.write(input, 0, input.length);
@@ -308,4 +315,66 @@
             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 "璋冪敤澶辫触";
+    }
+
+    /**
+     * 瀵筓RL鍙傛暟杩涜缂栫爜锛屽鐞嗕腑鏂囦贡鐮侀棶棰�
+     *
+     * @param params 鍙傛暟瀛楃涓诧紝鏍煎紡锛歯ame1=value1&name2=value2
+     * @param charset 缂栫爜鏍煎紡
+     * @return 缂栫爜鍚庣殑鍙傛暟瀛楃涓�
+     */
+    private static String encodeParams(String params, String charset) {
+        if (StringUtils.isBlank(params)) {
+            return params;
+        }
+
+        try {
+            StringBuilder encodedParams = new StringBuilder();
+            String[] pairs = params.split("&");
+
+            for (int i = 0; i < pairs.length; i++) {
+                String pair = pairs[i];
+                if (StringUtils.isNotBlank(pair)) {
+                    int idx = pair.indexOf("=");
+                    if (idx > 0) {
+                        String key = pair.substring(0, idx);
+                        String value = pair.substring(idx + 1);
+                        // 瀵筴ey鍜寁alue閮借繘琛孶RL缂栫爜
+                        encodedParams.append(URLEncoder.encode(key, charset))
+                                .append("=")
+                                .append(URLEncoder.encode(value, charset));
+                    } else {
+                        // 娌℃湁绛夊彿锛屾暣涓綔涓簁ey
+                        encodedParams.append(URLEncoder.encode(pair, charset));
+                    }
+
+                    if (i < pairs.length - 1) {
+                        encodedParams.append("&");
+                    }
+                }
+            }
+
+            return encodedParams.toString();
+        } catch (UnsupportedEncodingException e) {
+            log.error("URL鍙傛暟缂栫爜澶辫触", e);
+            return params;
+        }
+    }
+
 }

--
Gitblit v1.9.3