yay*_*zis 45 java jsp servlets
我正在尝试在我的webApplication中打印已登录用户的IP地址.如果用户使用IP地址192.168.10.120:8080/WebApplication代码从另一台PC(位于同一网络下,因为Web应用程序在我的电脑上运行)连接request.getRemoteAddr()或request.getLocalAddr())返回其IP地址.当我从运行Web应用程序的PC登录时,我得到的IP地址为0:0:0:0:0:0:0:1.
这是为什么?这些命令之间有什么区别(我应该使用哪些?).非常感谢你!
Abu*_*kar 49
在您的情况下,当您尝试在本地计算机上访问它时,它将返回该值.但是,让你的一个朋友访问它,你将收到预期的结果getRemoteAddr
来自javadoc:
getRemoteAddr - 返回发送请求的客户端或最后一个代理的IP地址
getLocalAddr - 返回接收请求的接口的IP地址.
Rob*_*der 44
当我们从IPv4转移到IPv6时,他们正在将环回地址(localhost)更改0:0:0:0:0:0:0:1为127.0.0.1这就是为什么要获取此地址.
至于功能:
getRemoteAddr() 返回客户端IP
getLocalAddr() 返回运行应用程序的服务器的IP
getRemoteAddr()解决了你的目的,但如果客户端在任何代理后面,那么你将获得代理的IP地址:
返回发送请求的客户端或最后一个代理的Internet协议(IP)地址.
getLocalAddr()返回运行应用程序的服务器的IP.
| 归档时间: |
|
| 查看次数: |
68585 次 |
| 最近记录: |