public String getVisitorIp(HttpServletRequest request){
// 优先取 X-Real-IP
String ip = request.getHeader("X-Real-IP");
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)){
ip = request.getHeader("x-forwarded-for");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)){
ip = request.getRemoteAddr();
if ("0:0:0:0:0:0:0:1".equals(ip))
{
ip = "unknown";
}
}
if ("unknown".equalsIgnoreCase(ip)){
ip = "unknown";
return ip;
}
int index = ip.indexOf(',');
if (index >= 0){
ip = ip.substring(0, index);
}
return ip;
}