2012-01-30 100 views
5

我一直在成功地使用IPv4到国家的转换器。 例如:获取机器的IP并比较表得到国家。IP到国家 - IPv6

我正在更新这个版本,并且在转角处使用了IPv6我想问问是否有将IPv6转换为国家的解决方案?

注:偏爱PHP和MySQL

THX

+1

请注意,所有的地理IP数据库是近似值,和IPv6数据的质量是可悲还是比质量差多少的IPv4数据。 – 2012-01-30 19:14:25

+0

我在你之前发布了一个非常类似的问题。我现在用我找到的答案回答。这里的链接:http://stackoverflow.com/questions/8404357/determine-country-from-ip-ipv6 – 2013-03-21 13:54:56

+0

当涉及到他们的地理城市数据库Maxmind声称是99.8%准确。即使这不是真的,我认为如果你只是想获得国家代码,你仍然应该没问题。您可以下载免费版本的geoip数据库或付费版本。您需要购买更新以保持表格的最新状态。我目前正在测试ipv6数据库的原因是相同的。如果它变得不可用,我会让你知道。 – 2013-12-03 20:48:09

回答

1

Maxmind在他们的GeoIP的国家数据库对IPv6的支持。

1

如果你使用网络服务的话,我的服务http://ipinfo.io OK最近增加对IPv6的支持:

$ curl http://ipinfo.io/2001:4860:4860::8888 
{ 
    "ip": "2001:4860:4860::8888", 
    "hostname": "No Hostname", 
    "city": null, 
    "region": null, 
    "country": "US", 
    "loc": "38.0000,-97.0000", 
    "org": "AS15169 Google Inc." 
} 

您可以解析JSON响应,以获得国家,或增加国家的网址:

$ curl http://ipinfo.io/2001:4860:4860::8888/country 
US 

有关更多详细信息,请参阅http://ipinfo.io/developers

0

下面是与https://ipdata.co

curl api.ipdata.co/2c0f:fd58:9:198::255e 

一个例子给

{ 
    "ip": "2c0f:fd58:9:198::255e", 
    "city": "", 
    "region": "", 
    "country_name": "South Africa", 
    "country_code": "ZA", 
    "continent_name": "Africa", 
    "continent_code": "AF", 
    "latitude": -29.0, 
    "longitude": 24.0, 
    "asn": "AS20940", 
    "organisation": "Akamai International B.V.", 
    "postal": "", 
    "currency": "ZAR", 
    "currency_symbol": "R", 
    "calling_code": "27", 
    "flag": "https://ipdata.co/flags/za.png", 
    "time_zone": "Africa/Johannesburg" 
}⏎