关于获取ip地址为什么获取到的IP地址是0:0:0:0:0:0:0:1
我用了两种方法,获取到的结果是一样的
第一种:
logInfoVo.setLoginip(WebUtils.getHttpServletRequest().getLocalAddr());
首先试了一下,通过getLocalAddr()获取到的IP地址,获取到的结果是
0:0:0:0:0:0:0:1
第二种:
logInfoVo.setLoginip(WebUtils.getHttpServletRequest().getRemoteAddr());
然后用getRemoteAddr()获取的IP结果是 0:0:0:0:0:0:0:1
两种方法得到的结果是一样的
让我很疑惑,疑惑的点在哪里呢?
第一点:为什么两种方法获取的结果是一样的?
第二点:为什么获取到的地址是0:0:0:0:0:0:0:1 (因为我认为正确的地址应该是127.0.0.1)
带着这两个疑问,我百度了好久 ,但是最终以似懂非懂的结果解决了这些问题。
第一点:为什么两种方法获取的结果是一样的呢?
request.getLocalAddr()//获取本机IP
request.getRemoteAddr()//Java获取远程IP地址
这里只能借用我老师的原话
第二点:为什么两种方法获取到的地址是0:0:0:0:0:0:0:1
因为我在访问时,用的是localhost登陆的,所以获取到的IP是0.0.0.1
当我用127.0.0.1,这种方式访问时,获取到的就是127.0.0.1