【问题标题】:Problem with JSP getRemoteAddressJSP getRemoteAddress 的问题
【发布时间】:2010-11-28 05:51:18
【问题描述】:

我想了解如何获取正在访问我的网页的客户端的 IP 地址。 JSP页面内容:

<% 
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

【问题讨论】:

  • 你在什么操作系统上运行服务器?
  • 如果您运行的是 Vista,您可以通过 support.microsoft.com/kb/929852 上的说明禁用 IPv6。这不会改变 getRemoteAddr() 和 getRemoteHost() 的行为,因此您可以获得代理或负载均衡器报告的 IP 地址。

标签: java jsp jakarta-ee ip


【解决方案1】:

“0:0:0:0:0:0:0:1”是RFC 3513中定义的IPv6环回地址。

您的操作系统和应用程序服务器似乎已配置为使用 IPv6,并且您正在从本地计算机访问该页面。

顺便说一句,调用 getRemoteAddress() 不会为您提供客户端的 IP 地址。网络中可能存在您可能会收到其地址的中间节点。代理和负载平衡器尤其如此。

【讨论】:

  • 但是如何将 0:0:0:0:0:0:0:1 转换为精确的 IP。
  • @SatishSharma - 它已经是一个精确的 IP。 (你误解了答案。)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-12-26
  • 1970-01-01
  • 1970-01-01
  • 2016-09-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多