關於獲取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