如何将IP地址转换为国家?

时间:2012-07-09 17:59:08

标签: php

我正在创建一个像nytime.com这样的新闻网站,但是多国家(不同国家的不同新闻和语言)。

所以我需要将IP地址转换为国家/地区,以便将用户重定向到相应的子域。 例如,如果西班牙语用户访问 mysite.com ,他将被重定向到 es.mysite.com

如果您愿意,可以向我提出其他解决方案,但请记住它必须针对搜索引擎进行优化。

6 个答案:

答案 0 :(得分:1)

您无法直接将IP转换为国家/地区。但是,您可以使用具有IP / IP范围的数据库,这些数据库是大多数站点执行此操作的国家/地区。

答案 1 :(得分:1)

MaxMind以适合许多数据库和编程语言的格式销售此数据,或者作为Apache插件销售。它并不总是正确的,但它可能与你能得到的一样准确。

http://www.maxmind.com/app/ip-location

这种方法而不是JS方法的优点是不会提示用户透露他们的位置。

答案 2 :(得分:0)

http://html5demos.com/geo/

这是一个很好的免费解决方案。

你可以支付php地理位置,但价格昂贵。

答案 3 :(得分:0)

http://software77.net/geo-ip/

在右侧边栏中,您可以下载数据库

有类似的数据库和服务,只是google“ip to country”

答案 4 :(得分:0)

结帐

基本上,您需要一个数据库,您可以在其中比较手中的IP并找出其国家/地区。 Maxmind为您提供了一个自托管数据库&代码样本,而IPinfoDB提供免费的API服务。

答案 5 :(得分:0)

没有内置的方法。互联网上有网络服务,将提供这种映射。此类数据库“GeoIP数据库”也可供本地使用。

但最好订阅更新的网络服务并使用它来获取位置。 Google's Client Location API应该在这里帮助你。

一些现代浏览器会向您发送用户位置。你可以用它。但由于并非所有浏览器都遵循此规则,因此不可靠。您可以查看w3.org提供的Geo Location API