From b9b58b9ef261cb290d93465f88a2cbd814b576f0 Mon Sep 17 00:00:00 2001 From: fei.wang <wf18701153496@163.com> Date: 星期一, 13 五月 2024 17:51:44 +0800 Subject: [PATCH] 更改 --- src/main/java/com/flow/util/IpUtil.java | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 47 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/flow/util/IpUtil.java b/src/main/java/com/flow/util/IpUtil.java new file mode 100644 index 0000000..28c127c --- /dev/null +++ b/src/main/java/com/flow/util/IpUtil.java @@ -0,0 +1,47 @@ +// +// Source code recreated from a .class file by IntelliJ IDEA +// (powered by FernFlower decompiler) +// + +package com.flow.util; + +import javax.servlet.http.HttpServletRequest; +import org.apache.commons.lang.ArrayUtils; +import org.apache.commons.lang.StringUtils; + +public class IpUtil { + public IpUtil() { + } + + public static String getIpAddress(HttpServletRequest request) { + String ip = request.getHeader("x-forwarded-for"); + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getHeader("Proxy-Client-IP"); + } + + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getHeader("WL-Proxy-Client-IP"); + } + + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getHeader("HTTP_CLIENT_IP"); + } + + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getHeader("HTTP_X_FORWARDED_FOR"); + } + + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getRemoteAddr(); + } + + if (StringUtils.isNotEmpty(ip) && ip.contains(",")) { + String[] ipArray = ip.split(","); + if (ArrayUtils.isNotEmpty(ipArray)) { + ip = ipArray[0]; + } + } + + return ip; + } +} -- Gitblit v1.9.3