getRemoteAddr和getLocalAddr的區別

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

在這裏插入圖片描述
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章