【问题标题】:How to get IPv6 Address in c#?如何在 C# 中获取 IPv6 地址?
【发布时间】:2012-02-24 14:44:51
【问题描述】:

我用Request.UserHostAddress,只能获取IPv4地址,如何获取访问者的IPv6地址?

【问题讨论】:

标签: c# asp.net ipv6 ipv4


【解决方案1】:

我假设您说的是HttpRequest.UserHostAddress。它将始终返回用于连接到您的地址。如果请求是通过 IPv6 发出的,它将返回它们的 IPv6 地址;如果请求是通过 IPv4 发出的,它将返回它们的 IPv4 地址。

您应该首先调查为什么通过 IPv4 发出请求。 http://serverfault.com 的人们可能会在这方面提供更多帮助。

【讨论】:

    【解决方案2】:

    通过放置 4 个八位字节,将 IPv4 地址转换为 IPv6 地址 将 IPv4 地址转换为 IPv6 地址的最右边 4 个八位字节。

    将 IPv4 地址的 4 个八位字节插入到 IPv6 地址的最右边的 4 个八位字节,剩下的最左边的八位字节将 值为 0。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-01-16
      • 1970-01-01
      • 2013-04-23
      • 1970-01-01
      • 2012-07-19
      • 2014-01-11
      • 2021-06-21
      • 1970-01-01
      相关资源
      最近更新 更多