关于javaweb获取客户端ip地址的问题。
一般我们获取客户端ip都是用request.getRemoteAddr();但是现在有个问题由于局域网ip不够使用路由方式分ip分了两个网段,在用request.getRemoteAddr()获取的获取的却是路由的ip。现在怎么能获取到客户端的ip呢?很多人说使用下面代码:
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();
}
这个方法试了x-forwarded-for和Proxy-Client-IP,WL-Proxy-Client-IP都是null,网上说使用了代理可以采取这种方式获取ip,使用路由分发ip怎么获取客户端的ip呢?请大神们指教指教