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

时间:2010-09-11 08:09:26

标签: c# asp.net geolocation

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

它将输出显示为: -

127.0.0.1保留ZZ

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

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

3 个答案:

答案 0 :(得分:11)

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

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

关于国家/地区代码 - 可能是2个字符的国家ISO代码(请参阅here),因此您需要将代码翻译到正确的国家/地区。 ZZ不在表格中,表示没有国家。

答案 1 :(得分:4)

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

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

答案 2 :(得分:1)

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

您的代码似乎没问题。您还可以使用免费的ASP.NET支持主机在线试用您的网站。有很多像HelioHost0000free

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

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

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