IP地址为127.0.0.1的地理位置错误

好的,所以我尝试了这个, http://ipaddressextensions.codeplex.com/ 。

它将输出显示为: –

127.0.0.1保留ZZ

究竟是什么“保留”和“ZZ”? 它应显示为“INDIA IN”。

IP地址是本地主机。 好的,但国名和国家代码怎么样? 为什么他们不能正确显示? 我需要在代码中更改什么?

当您在家中进行测试时,服务器和用户都是一台(您的PC)。 所以你不能指望它显示国家,因为IIS的IP地址是一个自我地址。

你的代码似乎没问题。 您也可以使用免费的ASP.NET支持主机在线试用您的网站。 有许多像HelioHost , 0000free等。

关于问题的编辑部分,如果您为每个国家/地区使用不同版本的网站,则不会更好地使用交换机。

switch(iso3166TwoLetterCode.ToUpper()) { case "IN" : Response.Redirect("www.mysite.in"); case "FR" : Response.Redirect("www.mysite.fr"); ... Default : Response.Redirect("www.mysite.in"); } 

我认为它确实看起来更整洁。

127.0.0.1是保留的IP地址,代表localhost(运行代码的计算机)。 这是运行TCP / IP的每台计算机的“有效”IP地址。

IP查找需要一个真实的 IP地址才能正常工作。

关于国家/地区代码 – 它可能是一个2个字符的国家/地区ISO代码(请参阅此处 ),因此您需要将代码转换为正确的国家/地区。 ZZ不在表中,表示没有国家。

127.0.0.1称为环回地址,是您的系统用于有效地与自身对话的内容。 因此,没有与该IP地址相关联的国家……它在每个系统上无处不在。

如果您将代码放到网络上,您将获得更合适的结果,因为每个访问系统将使用公共IP地址到达您的服务器。