1. 程式人生 > >request.getRemoteAddr() 獲取的值為0:0:0:0:0:0:0:1的原因及解決辦法

request.getRemoteAddr() 獲取的值為0:0:0:0:0:0:0:1的原因及解決辦法

測試 127.0.0.1 文件 在服務器 臺電 屬於 sts javaweb項目 服務器和客戶端

問題:

在近期開發的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。

request.getRemoteAddr() 獲取的值為0:0:0:0:0:0:0:1的原因及解決辦法