/**
* 获取用户IP.
* @param requset
* @return ip
*/
protected static String getIp(HttpServletRequest requset){
String ip = requset.getHeader("x-forwarded-for");
if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)){
ip = requset.getHeader("Proxy-Client-IP");
}
if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)){
ip = requset.getHeader("WL-Proxy-Client-IP");
}
if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)){
ip = requset.getRemoteAddr();
}
ip = ip.equals("0:0:0:0:0:0:0:1")?"127.0.0.1":ip;
return ip;
}
上述方法存在一定的弊端,获取不了公网的ip地址,同时获取的本地ip地址为127.0.0.1