【问题标题】:When would ServletRequest.getRemoteAddr return IPv6ServletRequest.getRemoteAddr 何时返回 IPv6
【发布时间】:2012-07-09 17:00:09
【问题描述】:

我正在进行 API 调用,该调用需要请求 IP 地址。 我正在使用 ServletRequest.getRemoteAddr() 来获取请求的 IP。 对于一个用户,getRemoteAddr() 返回的是 IPv6 而不是 IPv4,这是为什么?

据我了解,IPv6 是对 IPv4 的扩展,用户可以选择使用 IPv6 而不是 IPv4。这是否意味着用户或用户的 ISP 正在使用 IPv6?这是如何运作的.... 还有没有办法获得 IPv4 等效项?

谢谢。

【问题讨论】:

  • Err,当远程地址是 IPv6 地址时?

标签: java servlets ip ipv6


【解决方案1】:

ipv6 不是 ipv4 的“扩展”,它是另一种寻址方案。客户端是使用 ipv6 还是 ipv4 地址取决于客户端的配置(尽管客户端和服务器之间的中介需要兼容)。由于 ipv6 地址不向后兼容,因此无法获得与 ipv6 地址“等效”的 ipv4(但另一方面, 有一种以 ipv6 兼容方式对 ipv4 地址进行编码的方法)。

【讨论】:

    猜你喜欢
    • 2011-11-27
    • 1970-01-01
    • 2011-11-17
    • 2012-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多