【发布时间】:2010-09-20 17:52:12
【问题描述】:
我正在使用 java servlet 开发一个 web 应用程序,我希望通过从 processRequest(HttpServletRequest request,HttpServletResponse response) 内部调用 request.getRemoteAddr() 来获取用户 ip 信息。
但它返回一个错误的 IP。由于我对这个领域不是很了解,我不知道它在显示什么,也许是代理,我得到了这个:
远程地址:127.0.0.1 远程主机:127.0.0.1 x-forwarded-for : null127.0.0.1 不是我的 IP。
但是当我转到:http://www.javascriptkit.com/script/script2/displayip.shtml 时,它会显示正确的,因为我使用的是 servlet,我没有动态生成的 html 页面的 .shtml,我该怎么办?以及为什么那个网站上的脚本可以正确显示,而request.getRemoteAddr()却不能呢?
感谢所有答案,我现在有一个线索,将其部署到服务器后,它可以按预期工作。显示了正确的地址。
但是即使我在本地机器上开发它,如何让它显示绝对IP,就好像它在真实服务器上运行一样?或者可行吗?
【问题讨论】:
-
当您说
wrong ip时,地址是否在您的域中?错到什么程度?你能告诉我们更多关于调用正在返回什么的信息吗?