update 优化 获取地址支持IPv6逻辑

This commit is contained in:
秋辞未寒 2025-04-26 00:20:34 +08:00
parent f29e0223a7
commit 1c5ae2f168

View File

@ -22,14 +22,21 @@ public class AddressUtils {
public static String getRealAddressByIP(String ip) { public static String getRealAddressByIP(String ip) {
// 处理空串并过滤HTML标签 // 处理空串并过滤HTML标签
ip = HtmlUtil.cleanHtmlTag(StringUtils.blankToDefault(ip,"")); ip = HtmlUtil.cleanHtmlTag(StringUtils.blankToDefault(ip,""));
boolean isIPv6 = NetUtils.isIPv6(ip);
// 判断是否为IPv4或IPv6如果不是则返回未知地址 // 判断是否为IPv4或IPv6如果不是则返回未知地址
if (!NetUtils.isIPv4(ip) && !NetUtils.isIPv6(ip)) { if (!NetUtils.isIPv4(ip) && !isIPv6) {
return UNKNOWN; return UNKNOWN;
} }
// 内网不查询 // 内网不查询
if (NetUtils.isInnerIPv6(ip) || NetUtils.isInnerIP(ip)) { if (NetUtils.isInnerIPv6(ip) || NetUtils.isInnerIP(ip)) {
return "内网IP"; return "内网IP";
} }
// 不支持IPv6不再进行没有必要的IP地址信息的解析直接返回
if (isIPv6) {
log.warn("ip2region不支持IPV6地址解析{}", ip);
// 如有需要可自行实现IPv6地址信息解析逻辑并在这里返回
return "未知";
}
return RegionUtils.getCityInfo(ip); return RegionUtils.getCityInfo(ip);
} }