我使用Request.UserHostAddress
,只能获取IPv4地址,如何获取访问者的IPv6地址?
答案 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的值。