如何在c#中获取IPv6地址?

时间:2012-02-01 21:58:51

标签: c# asp.net ipv6 ipv4

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

2 个答案:

答案 0 :(得分:12)

我假设你在谈论HttpRequest.UserHostAddress。它将始终返回用于连接到您的地址。如果请求是通过IPv6进行的,它将返回其IPv6地址;如果请求是通过IPv4进行的,它将返回其IPv4地址。

首先,您应该调查为什么要通过IPv4进行请求。 http://serverfault.com的人可能会对此有更多的帮助。

答案 1 :(得分:6)

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

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