是否有可靠的网络服务提供 API 将 IP 地址转换为位置,即city, region, country
. 愿意支付,但需要可靠的东西。
6 回答
我的服务http://ipinfo.io包括位置信息、主机名、网络所有者和其他一些详细信息:
$ curl ipinfo.io/8.8.8.8
{
"ip": "8.8.8.8",
"hostname": "google-public-dns-a.google.com",
"loc": "37.385999999999996,-122.0838",
"org": "AS15169 Google Inc.",
"city": "Mountain View",
"region": "CA",
"country": "US",
"phone": 650
}
这是一个 PHP 示例:
$ip = $_SERVER['REMOTE_ADDR'];
$details = json_decode(file_get_contents("http://ipinfo.io/{$ip}"));
echo $details->city; // -> "Mountain View"
我发现了这些免费的 Geo-Ip 服务:
这是两个非常快速的演示安装(我的):
http://bric.lepus.uberspace.de:61165
https://oo.bootes.uberspace.de
如果您想长期实施服务,请与我联系。
取决于您想要返回给您的信息量以及您获得的流量。你可以使用Maxmind GeoIPCityLite 提供的免费服务,FreeGeoIP 还不错,ipinfodb..
如果您想尝试一下,我正在启动我自己的名为http://www.snoopi.io的 GeoIP 服务。
关于 ipinfo.io,它不是完全免费的!核实:
“您每天限制为 1,000 个 API 请求。如果您需要发出更多请求,或需要 SSL 支持,请参阅我们的付费计划。”
http://www.ipinfodb.com有免费的地理定位 API。它的速率限制为每秒 2 个查询。
http://api.ipinfodb.com/v3/ip-city/?key=your_api_key&ip=74.125.45.100
我个人可以(由于我的公司)建议 Netacuity - 它非常可靠(我真的想强调一下),但我不知道他们是否提供 API(或者您需要手动下载/更新)。
或者,您可以看一下 Maxmind,它是 FreeGeoIp.net 背后的“工具”(即使用 Maxmind 的 GeoLite2),它更精确,具有更多数据,并且每个请求的成本为 0.01 美元左右 - 好消息是您可以缓存结果。