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 |   69 ++++++++++++++++++++++++++++++++++
 1 files changed, 69 insertions(+), 0 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 d8b249b..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);
@@ -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