2011-05-26 40 views
0

我试图通过以下通过代理获取客户端IP地址连接服务器:无法使用request.getHeader(“x-forwarded-for”)通过代理连接客户端IP地址;

PrintWriter out=response.getWriter(); 
out.println("x-forwarded-for : "+request.getHeader("x-forwarded-for")); 

out.println("remote : "+request.getRemoteAddr()); 

但我从getHeader("x-forwarded-for")方法得到总是空。

我只通过getRemoteAddr()得到远程地址。

但我试过spoofer firefox插件,它的工作原理。

有人知道解决方案吗?谢谢。

+1

是否区分大小写?尝试使用X-Forwarded-For,然后尝试打印出所有标题名称,以便您可以确切地看到您正在接收的内容。 – Joel 2011-05-26 07:36:41

+0

...你也可以使用ngrep来找出真正的服务器。 – stepancheg 2011-05-26 10:23:53

回答

0

您需要检查代理服务器是否确实为请求添加了“x-forwarded-for”标头。代理服务器不是强制性的。

+0

标题不区分大小写。因此找出哪些国家正在说 – 2015-01-20 04:28:18