Tomcat下怎么获得客户端Ip地址??

2025-05-12 21:03:26
推荐回答(3个)
回答(1):

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();
}
if (ip != null && ip.length() > 0){
String[] ips = ip.split(",");
for(int i=0;i if(ips[i].trim().length() > 0 && !"unknown".equalsIgnoreCase(ips[i].trim())){
ip = ips[i].trim();
break;
}
}
}
return ip;
}

支持用代理上网的ip

回答(2):

request.getLocalAddr()

回答(3):

因为ipv6的问题 你机子默认ipv6