Pre Merge pull request !237 from 枕梦记/N/A

This commit is contained in:
枕梦记 2022-09-21 04:02:32 +00:00 committed by Gitee
commit 3ccfa78782
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F

View File

@ -3,6 +3,7 @@ package com.ruoyi.common.utils.ip;
import cn.hutool.core.lang.Dict; import cn.hutool.core.lang.Dict;
import cn.hutool.core.net.NetUtil; import cn.hutool.core.net.NetUtil;
import cn.hutool.http.HtmlUtil; import cn.hutool.http.HtmlUtil;
import cn.hutool.http.HttpResponse;
import cn.hutool.http.HttpUtil; import cn.hutool.http.HttpUtil;
import com.ruoyi.common.config.RuoYiConfig; import com.ruoyi.common.config.RuoYiConfig;
import com.ruoyi.common.constant.Constants; import com.ruoyi.common.constant.Constants;
@ -28,9 +29,8 @@ public class AddressUtils {
public static final String UNKNOWN = "XX XX"; 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)) { if (StringUtils.isBlank(ip)) {
return address; return UNKNOWN;
} }
// 内网不查询 // 内网不查询
ip = "0:0:0:0:0:0:0:1".equals(ip) ? "127.0.0.1" : HtmlUtil.cleanHtmlTag(ip); ip = "0:0:0:0:0:0:0:1".equals(ip) ? "127.0.0.1" : HtmlUtil.cleanHtmlTag(ip);
@ -38,18 +38,15 @@ public class AddressUtils {
return "内网IP"; return "内网IP";
} }
if (RuoYiConfig.isAddressEnabled()) { if (RuoYiConfig.isAddressEnabled()) {
try { try (HttpResponse response = HttpUtil.createGet(IP_URL).body("ip=" + ip + "&json=true", Constants.GBK).execute()) {
String rspStr = HttpUtil.createGet(IP_URL) String responseBody = response.body();
.body("ip=" + ip + "&json=true", Constants.GBK) if (StringUtils.isBlank(responseBody)) {
.execute()
.body();
if (StringUtils.isEmpty(rspStr)) {
log.error("获取地理位置异常 {}", ip); log.error("获取地理位置异常 {}", ip);
return UNKNOWN; return UNKNOWN;
} }
Dict obj = JsonUtils.parseMap(rspStr); Dict dict = JsonUtils.parseMap(responseBody);
String region = obj.getStr("pro"); String region = dict.getStr("pro");
String city = obj.getStr("city"); String city = dict.getStr("city");
return String.format("%s %s", region, city); return String.format("%s %s", region, city);
} catch (Exception e) { } catch (Exception e) {
log.error("获取地理位置异常 {}", ip); log.error("获取地理位置异常 {}", ip);