2009-09-14 49 views
2

我想知道如何獲取客戶端的IP地址,即訪問我的網頁。 內容JSP頁面:JSP問題getRemoteAddress

<% 
out.print(request.getRemoteAddr() + "<br>"); 
out.print(request.getRemoteHost()); 
%> 

輸出:

0:0:0:0:0:0:0:1 
0:0:0:0:0:0:0:1 
+0

你在哪個操作系統上運行服務器? –

+0

如果您正在運行Vista,則可以通過http://support.microsoft.com/kb/929852上的說明禁用IPv6。這並不會改變getRemoteAddr()和getRemoteHost()的行爲,所以您可以獲取代理或負載平衡器報告的IP地址。 –

回答

6

「0:0:0:0:0:0:0:1」 作爲在RFC 3513定義IPv6的環回地址。

看來您的操作系統和應用程序服務器已配置爲使用IPv6,並且您正在從本地計算機訪問該頁面。

順便說一下,調用getRemoteAddress()將不會爲您提供客戶端的IP地址。網絡中可能存在您可能收到地址的中間節點。代理和負載均衡器尤其如此。

+0

但是我如何將0:0:0:0:0:0:0:1轉換爲精確的IP。 –