public class IpUtils extends Object
| 限定符和类型 | 字段和说明 |
|---|---|
static String |
HEADER_FROWARDED_FOR |
static String |
LOCAL_BACK_IP |
static String |
LOCAL_HOST |
static String |
UNKNOWN |
| 构造器和说明 |
|---|
IpUtils() |
| 限定符和类型 | 方法和说明 |
|---|---|
static String |
getIpAddr(javax.servlet.http.HttpServletRequest request)
获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的。
|
static String |
getIpAddr(org.springframework.http.server.reactive.ServerHttpRequest request) |
static String |
getLocalIpAddr() |
static String |
ipToLocation(String ip) |
static boolean |
isInnerIp(String ipAddr) |
static boolean |
isIp(String ipAddr) |
static void |
main(String[] args) |
public static boolean isIp(String ipAddr)
public static boolean isInnerIp(String ipAddr)
public static String getIpAddr(javax.servlet.http.HttpServletRequest request)
获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的。 但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了,如果通过了多级反向代理的话, X-Forwarded-For的值并不止一个,而是一串IP值, 究竟哪个才是真正的用户端的真实IP呢? 答案是取X-Forwarded-For中第一个非unknown的有效IP字符串。 例如:X-Forwarded-For:192.168.1.110, 192.168.1.120, 192.168.1.130, 192.168.1.100 用户真实IP为: 192.168.1.110
request - public static String getIpAddr(org.springframework.http.server.reactive.ServerHttpRequest request)
public static String getLocalIpAddr()
public static void main(String[] args)
Copyright © 2025. All rights reserved.