根据request获取IP的方式:
public static String getIpAddr(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.getRemoteAddr();
}
return ip;
}
注意:当访问地址为localhost时 地址格式为 0:0:0:0:0:0:1
访问地址写为127.0.0.1时正常
本文出自 “javaruler” 博客,请务必保留此出处http://tengjs.blog.51cto.com/5641106/1562600
原文地址:http://tengjs.blog.51cto.com/5641106/1562600