2013-03-12 72 views
1

我想在grails中請求會話用戶的遠程地址。我在這裏發現了一個描述問題的問題(Grails find public IP address of the session user),答案確實有效。我只使用request.getRemoteAddr(),並且在本地主機中接收到0:0:0:0:0:0:0:1。但是,我需要做什麼來查看用戶的真實IP地址?在Grails中查找會話用戶的公共IP地址

在這個前面的問題中,我發現它說:「嘗試從另一臺計算機查看站點時查看request.remoteAddr的輸出」。我真的不知道這意味着什麼,我需要你的幫助。我只能在我自己的瀏覽器中加載服務器,並使用「localhost:8080/...」 請告訴我如何以及在何處獲得正確的請求。謝謝!!!

回答

0

這是最好的你會得到。

0:0:0:0:0:0:0:1 

是你的本地地址。此外,這不能保證是唯一的用戶,由於動態尋址和代理服務器

2

「從不同的計算機訪問該網站 嘗試時看着request.remoteAddr的輸出」

意味着您將需要從局域網中的另一臺計算機連接到計算機上運行的應用程序。
如果您的局域網中有另一臺機器,則需要找到您的本地網絡IP地址(使用ipconfig),並從另一臺機器連接到此地址。例如,如果你的IP是192.168.0.2,連接到http://192.168.0.2:8080

由於tim_yates提到request.getRemoteAddr()可能並不總是正確的返回地址,由於動態尋址和代理服務器。但是,您可以從可能找到各種HTTP標頭的原始地址,例如:HTTP_CLIENT_IP, HTTP_X_FORWARDED_FOR, HTTP_X_FORWARDED
請查看此question的答案,其中提供了有關此主題的更多信息。