public String getIpAddr(HttpServletRequest request) {
String ip = request.getHeader(" x-forwarded-fo r" ) ;
if(ip == null || ip.length() == 0 || " unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader(" Proxy-Client-IP" ) ; //获取代理ip
}
if(ip == null || ip.length() == 0 || " unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader(" WL-Proxy-Client-IP" ) ; //获取代理ip
}
if(ip == null || ip.length() == 0 || " unknown".equalsIgnoreCase(ip)) {
ip = request.getRemoteAddr(); //获取真实ip
}
return ip;
}
记下~~以备后用~~~
本文介绍了一种通过Java代码从HttpServletRequest请求中获取客户端IP地址的方法。该方法依次尝试使用x-forwarded-for、Proxy-Client-IP、WL-Proxy-Client-IP等HTTP头部信息来获取代理IP,并最终通过request.getRemoteAddr()获取真实的客户端IP地址。

被折叠的 条评论
为什么被折叠?



