2

我正在尝试使用以下方法获取远程 IP:

String remoteAddress = ((ServletRequestAttributes) RequestContextHolder
                .currentRequestAttributes()).getRequest().getRemoteAddr();

我在控制器中调用它,但它返回0:0:0:0:0:0:0:1. 怎么了?

4

1 回答 1

6

0:0:0:0:0:0:0:1是 IPv6 中的环回地址。它相当于127.0.0.1在 IPv4 中。

如果您只使用一台机器,这对我来说似乎很正常。否则,您能否提供更多详细信息?

编辑

如果您正在尝试获取外部(公共)IP,那么您可以查看这些 SO 帖子:

在 Servlet 中获取真实的客户端 IP

在 Java 中获取“外部”IP 地址

如何成功获取外部IP

使用Java获取当前机器的IP地址

简而言之,您可以使用request.getRemoteAddr(). 但如果您在同一网络上,它不会返回您的公共 IP 地址。

于 2013-09-22T14:58:04.220 回答