From b8a8b76c38fd774f1ed14774eaa7b6429fe55a40 Mon Sep 17 00:00:00 2001
From: 疯狂的狮子li <15040126243@163.com>
Date: 星期五, 22 十月 2021 12:38:33 +0800
Subject: [PATCH] fix 修复跨域访问无权限获取请求头 download-filename 导致文件名为空问题

---
 ruoyi-common/src/main/java/com/ruoyi/common/utils/ip/AddressUtils.java |   54 ++++++++++++++++++++++++++++--------------------------
 1 files changed, 28 insertions(+), 26 deletions(-)

diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/ip/AddressUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/ip/AddressUtils.java
index 01c24fc..808cc8d 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/ip/AddressUtils.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/ip/AddressUtils.java
@@ -1,21 +1,23 @@
 package com.ruoyi.common.utils.ip;
 
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import com.alibaba.fastjson.JSONObject;
+import cn.hutool.core.net.NetUtil;
+import cn.hutool.http.HtmlUtil;
+import cn.hutool.http.HttpUtil;
 import com.ruoyi.common.config.RuoYiConfig;
 import com.ruoyi.common.constant.Constants;
+import com.ruoyi.common.utils.JsonUtils;
 import com.ruoyi.common.utils.StringUtils;
-import com.ruoyi.common.utils.http.HttpUtils;
+import lombok.extern.slf4j.Slf4j;
+
+import java.util.Map;
 
 /**
  * 鑾峰彇鍦板潃绫�
- * 
- * @author ruoyi
+ *
+ * @author Lion Li
  */
-public class AddressUtils
-{
-    private static final Logger log = LoggerFactory.getLogger(AddressUtils.class);
+@Slf4j
+public class AddressUtils {
 
     // IP鍦板潃鏌ヨ
     public static final String IP_URL = "http://whois.pconline.com.cn/ipJson.jsp";
@@ -23,31 +25,31 @@
     // 鏈煡鍦板潃
     public static final String UNKNOWN = "XX XX";
 
-    public static String getRealAddressByIP(String ip)
-    {
+    public static String getRealAddressByIP(String ip) {
         String address = UNKNOWN;
+        if (StringUtils.isBlank(ip)) {
+            return address;
+        }
         // 鍐呯綉涓嶆煡璇�
-        if (IpUtils.internalIp(ip))
-        {
+        ip = "0:0:0:0:0:0:0:1".equals(ip) ? "127.0.0.1" : HtmlUtil.cleanHtmlTag(ip);
+        if (NetUtil.isInnerIP(ip)) {
             return "鍐呯綉IP";
         }
-        if (RuoYiConfig.isAddressEnabled())
-        {
-            try
-            {
-                String rspStr = HttpUtils.sendGet(IP_URL, "ip=" + ip + "&json=true", Constants.GBK);
-                if (StringUtils.isEmpty(rspStr))
-                {
+        if (RuoYiConfig.isAddressEnabled()) {
+            try {
+                String rspStr = HttpUtil.createGet(IP_URL)
+                        .body("ip=" + ip + "&json=true", Constants.GBK)
+                        .execute()
+                        .body();
+                if (StringUtils.isEmpty(rspStr)) {
                     log.error("鑾峰彇鍦扮悊浣嶇疆寮傚父 {}", ip);
                     return UNKNOWN;
                 }
-                JSONObject obj = JSONObject.parseObject(rspStr);
-                String region = obj.getString("pro");
-                String city = obj.getString("city");
+                Map<String, String> obj = JsonUtils.parseMap(rspStr);
+                String region = obj.get("pro");
+                String city = obj.get("city");
                 return String.format("%s %s", region, city);
-            }
-            catch (Exception e)
-            {
+            } catch (Exception e) {
                 log.error("鑾峰彇鍦扮悊浣嶇疆寮傚父 {}", ip);
             }
         }

--
Gitblit v1.9.3