我正在尝试在我的webApplication中打印登录用户的IP地址。如果用户使用IP地址从另一台PC(位于同一网络下,因为Web应用程序正在我的PC中运行)连接,192.168.10.120:8080/WebApplication则代码request.getRemoteAddr()或request.getLocalAddr())返回其IP地址。当我从运行Web应用程序的PC登录时,得到的IP地址为0:0:0:0:0:0:0:0:1。
192.168.10.120:8080/WebApplication
request.getRemoteAddr()
request.getLocalAddr())
这是为什么?这些命令之间有什么区别(我应该使用哪个?)。非常感谢!
在您的情况下,当您尝试在本地计算机上访问它时,它将返回该值。但是,让您的一个朋友访问它,您将收到预期的结果getRemoteAddr
getRemoteAddr
从javadoc:
getRemoteAddr-返回发送请求的客户端或最后一个代理的IP地址
getLocalAddr-返回在其上接收到请求的接口的IP地址。