在Grails中查找会话用户的公共IP地址

时间:2013-03-12 20:40:44

标签: grails groovy get request ip-address

我想在grails中请求会话用户的远程地址。我在这里找到了一个问题来描述问题(Grails find public IP address of the session user),答案确实有效。我只使用request.getRemoteAddr()并在我的localhost中收到0:0:0:0:0:0:0:1但是,我要做什么来查看用户的真实IP地址?

在我之前发现的问题中,我说“尝试从另一台计算机查看网站时查看request.remoteAddr的输出”。我真的不知道这意味着什么,我需要你的帮助。我只能在自己的浏览器中加载服务器,并使用“localhost:8080 / ...” 请告诉我如何以及在何处获得正确的请求。感谢!!!

2 个答案:

答案 0 :(得分:2)

  

“在查看网站时,请尝试查看request.remoteAddr的输出   从另一台计算机“

表示您需要从LAN中的另一台计算机连接到计算机上运行的应用程序 如果LAN中有另一台计算机,则需要找到本地网络IP地址(使用ipconfig),并从另一台计算机连接到此地址。例如,如果您的IP为192.168.0.2,请连接到http://192.168.0.2:8080

由于动态寻址和代理服务器,提及的request.getRemoteAddr()可能并不总是返回正确的地址。但是,可以从各种HTTP标头中找到原始地址,例如:HTTP_CLIENT_IP, HTTP_X_FORWARDED_FOR, HTTP_X_FORWARDED
请查看此question的答案,其中提供了有关此主题的更多信息。

答案 1 :(得分:0)

这是你将获得的最好成绩。

0:0:0:0:0:0:0:1

是您的本地地址。此外,由于动态寻址和代理服务器,这不能保证对用户是唯一的