2

我想在 grails 中请求会话用户的远程地址。我在这里找到了一个描述问题的问题(Grails 找到会话用户的公共 IP 地址)并且答案确实有效。我只使用 request.getRemoteAddr() 并在我的本地主机中收到 0:0:0:0:0:0:0:1。但是,我必须做什么才能看到用户的真实 IP 地址?

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

4

2 回答 2

2

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

意味着您需要从 LAN 中的另一台机器连接到在您的机器上运行的应用程序。
如果您的 LAN 中有另一台机器,您将需要找到您的本地网络 IP 地址(使用 ipconfig)并从另一台机器连接到该地址。例如,如果您的 IP 是192.168.0.2,请连接到http://192.168.0.2:8080

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

于 2013-03-12T23:15:46.723 回答
0

这是你将得到的最好的。

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

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

于 2013-03-12T21:04:31.963 回答