Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在尝试使用以下方法获取远程 IP:
String remoteAddress = ((ServletRequestAttributes) RequestContextHolder .currentRequestAttributes()).getRequest().getRemoteAddr();
我在控制器中调用它,但它返回0:0:0:0:0:0:0:1. 怎么了?
0:0:0:0:0:0:0:1
0:0:0:0:0:0:0:1是 IPv6 中的环回地址。它相当于127.0.0.1在 IPv4 中。
127.0.0.1
如果您只使用一台机器,这对我来说似乎很正常。否则,您能否提供更多详细信息?
编辑
如果您正在尝试获取外部(公共)IP,那么您可以查看这些 SO 帖子:
在 Servlet 中获取真实的客户端 IP
在 Java 中获取“外部”IP 地址
如何成功获取外部IP
使用Java获取当前机器的IP地址
简而言之,您可以使用request.getRemoteAddr(). 但如果您在同一网络上,它不会返回您的公共 IP 地址。
request.getRemoteAddr()