急。。高悬赏,获取客户端IP 地址 问题
我在 登录成功后 要保存 访问者的IP地址。
在自己电脑上运行,公司内网电脑访问,获取的IP是电脑上设置的IP地址(好像正常)。
把工程放到服务器上面,不管是谁访问获取的都是公司外网网关的IP。
不知道是什么问题,在网上查的都是这方法。请高手指教。。。
获取IP 的代码是这样的:
Java code
private String getIpAddress(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;
}
------解决方案--------------------你可以把request中的头信息遍历log出来看看有没有你要的信息,
如果没有,那么代码怎么写都没有办法解决,只能在网关上想一下办法了
------解决方案--------------------
如需要阅读该回复,请登录或注册CSDN!
------解决方案--------------------
如需要阅读该回复,请登录或注册CSDN!
------解决方案--------------------学习了,顶……
------解决方案--------------------你去网络部门查看防火墙log文件 应该可以看到差别
------解决方案--------------------
如需要阅读该回复,请登录或注册CSDN!
------解决方案--------------------路由器有防火墙限制的时候也是拿不到IP的.
------解决方案--------------------不知道你获取IP地址是做什么用的,如果是做投票这种限制一台电脑只能投一次的话,可以考虑获取mac地址的