我有我的應用程序寫在JSP和Servlet頁面。每當我嘗試跟蹤用戶的IP地址時,它都會返回機器的全局IP地址(代理服務器地址),而不是該機器的局域網IP地址。那麼,如何獲取用戶機器的LAN IP地址。請指引我走出這個問題...如何使用jsp頁面獲取局域網IP地址?
回答
根據需要,您的網絡服務器只會看到向您發送請求的機器的IP地址。如果用戶位於代理服務器的後面,那麼這將是代表用戶發出請求的代理服務器(因此「代理」)。您無法追溯請求的來源,因爲它可能來自任何地方。只有代理服務器會知道,除非它告訴你,你不會知道。
代理可能會發送一個額外的HTTP標頭,如X-Forwarded-For
,在這種情況下它會告訴您它代表它的行爲。這個IP地址反過來也可能是一個代理,但你不知道。此外,這些信息是無法驗證的,可能是僞造的,所以您不應該依賴它。唯一可驗證的IP地址是您的Web服務器收到請求並將響應發送到的那個IP地址。
如果你的機器在局域網內,你a)不會有這個問題開始,b)如果你這樣做了,你可以通過機器名來查詢某些東西。儘管這在很大程度上取決於網絡基礎設施,並且不具有普遍性。
非常感謝你!!! ... – Saravanan 2011-05-19 08:57:12
試試這個一本地機器......結果
InetAddress thisIp = InetAddress.getLocalHost();
例子是abcNamePc/172.11.0.115
它會給你兩個信息 PC名稱和IP
獲取遠程計算機的IP地址,如果您知道計算機的名稱使用此
InetAddress address = InetAddress.getByName("name of the machine");
或
String sIPAddress = request.getRemoteAddr(); //or getRemoteHost()
獲取客戶端的遠程IP。
這個工程。
+1所以有用謝謝:) – shareef 2012-06-13 09:56:41
- 1. 如何獲取局域網中的IP地址列表?
- 2. 如何在局域網中獲取外部IP地址?
- 3. 如何使用NSHost獲取一堆局域網IP地址的名字?
- 4. 獲取局域網中的所有IP和Mac地址
- 5. 如何在C++中使用域名獲取域名IP地址?
- 6. 如何使用koaJS獲取本地域IP地址
- 7. 如何僅獲取IP地址/子網
- 8. 在JSP中獲取IP地址
- 9. 如何使用C#獲取全局IP地址?
- 10. 如何獲取IP地址?
- 11. 如何獲取IP地址?
- 12. 使用java的有線/無線局域網中的IP地址
- 13. 從網址獲取IP地址
- 14. 如何獲取我們網頁的訪客IP地址
- 15. 從局域網中的主機名獲得IP地址
- 16. 如何從網絡上的IP地址獲取MAC地址?
- 17. 獲取網絡用戶的IP地址
- 18. 如何使用asp.net獲取網絡ip地址(Internet)?
- 19. 如何使用c獲取網站ip地址
- 20. 如何使用Python 3.x獲取網站的IP地址?
- 21. 如何使用C#獲取IP地址的物理(MAC)地址?
- 22. C#:從域名獲取IP地址?
- 23. 從IP地址中獲取域名
- 24. 獲取局域網ip並打印它
- 25. 使用Boost.Asio獲取本地IP地址
- 26. 如何讓自己的無線局域網的IP地址使用Java
- 27. 獲取IP地址
- 28. 獲取IP地址
- 29. 獲取IP地址
- 30. 如何獲取ajax頁面的網址?
您的網絡服務器是否在該LAN之外? – deceze 2011-05-19 04:31:07
@deceze:你能否給出你對這兩種情況的想法?但是我的服務器位於局域網之外。如果我的服務器位於局域網內,會發生什麼? – Saravanan 2011-05-19 04:38:22