request.getRemoteAddr() 获取的值为0:0:0:0:0:0:0:1的原因及解决办法

问题:

在近期开发的javaweb项目中,需要记录登录时的电脑ip地址和主机名,通过request.getRemoteAddr()和request.getRemoteHost()得到的值都是0:0:0:0:0:0:0:1。

原因:

0:0:0:0:0:0:0:1是属于ipv6,后来我又进行另一台电脑做测试,发现这种情况只有在服务器和客户端都在同一台电脑上才会出现(例如用localhost访问的时候才会出现),这是hosts配置文件的问题 。

解决方法:

注释掉文件中的 # ::1 localhost 这一行即可解决问题。网上这种方式可以,但我这样做不可以 
最有效的方式就是改变请求的ip,不要使用localhost:8080 
使用127.0.0.1:8080或者ip:8080。

 

文章来自:http://www.cnblogs.com/sMKing/p/7502205.html
© 2021 jiaocheng.bubufx.com  联系我们
ICP备案:鲁ICP备09046678号-3