好的,所以我尝试了这个,http://ipaddressextensions.codeplex.com/。
它将输出显示为: -
127.0.0.1保留ZZ
这个“保留”和“ZZ”究竟是什么?它应显示为“INDIA IN”。
IP地址属于本地主机。好的,但国名和国家代码怎么样?为什么他们不能正确显示?我需要在代码中更改什么?
答案 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支持主机在线试用您的网站。有很多像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");
}
我认为它确实看起来更整洁。