Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何获得完整的IP而不是::1?_C#_Asp.net_Dns_Ip Address_Httpcontext - Fatal编程技术网

C# 如何获得完整的IP而不是::1?

C# 如何获得完整的IP而不是::1?,c#,asp.net,dns,ip-address,httpcontext,C#,Asp.net,Dns,Ip Address,Httpcontext,我写这篇文章是为了获取客户端的ip地址,但它只是得到这个::1,而不是172.16.0.129。我想获得ip的Ipv4版本。我该怎么做 return HttpContext.Current.Request.Params["HTTP_CLIENT_IP"] ?? HttpContext.Current.Request.UserHostAddress; 在IPv6中::1表示本地主机。您的机器很可能具有IP 172.16.0.129,但它也完全可以将自己称为::1 从另一台machione尝试您的

我写这篇文章是为了获取客户端的ip地址,但它只是得到这个::1,而不是172.16.0.129。我想获得ip的Ipv4版本。我该怎么做

return HttpContext.Current.Request.Params["HTTP_CLIENT_IP"] ?? HttpContext.Current.Request.UserHostAddress;

在IPv6中::1表示本地主机。您的机器很可能具有IP 172.16.0.129,但它也完全可以将自己称为::1


从另一台machione尝试您的请求(我怀疑此请求来自服务器所在的同一台机器)

这就是IPv6 localhost,不是吗?::1是IPv6的缩写,表示0:0:0:0:1我想获得ipv4,也许这会对您有所帮助:好的,但我想获得ipv4版本,即使是对于localhost,我不确定将您的软件编码为只处理ipv4是否会使其特别具有弹性。。但是,如果您从另一台计算机发出请求,并且该另一台计算机通过ipv4与您的计算机通信,那么您在提取http头时看到的IP很可能是ipv4版本