我使用 Request.UserHostAddress
,只能获取访问者的IPv4地址,如何获取其IPv6地址?
我假设您在谈论HttpRequest.UserHostAddress
。它将始终返回用于连接的地址。如果请求通过IPv6进行,则会返回其IPv6地址;如果请求通过IPv4进行,则会返回其IPv4地址。
您应该首先调查为什么请求是通过IPv4进行的。而在http://serverfault.com网站上的专家可能会提供更多帮助。
IPv4地址被转换成IPv6地址时,需要将IPv4地址的4个八位组放置在IPv6地址的最右边的4个八位组中。
将IPv4地址的4个八位组插入到IPv6地址的最右边的4个八位组中后,剩下的最左边的八位组值将为0。