从ip获取地区/城市

mic*_*ele 22 php ip ip-geolocation

如何从ip检索区域和城市?我找到了这项服务:http: //api.hostip.info/?ip = xyz.qwe.rty

但它没有给我这样的准确信息:http: //www.ipaddresslocation.org/

你知道一些免费服务吗?我需要用PHP脚本检索此信息,但我不会安装外部库.

非常感谢

Ben*_*ing 34

http://ipinfo.io,我的服务,为您提供有关IP的城市,国家和其他相关信息:

$ 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
}
Run Code Online (Sandbox Code Playgroud)

这是一个PHP示例:

$ip = $_SERVER['REMOTE_ADDR'];
$details = json_decode(file_get_contents("http://ipinfo.io/{$ip}"));
echo $details->city; // -> "Mountain View"
Run Code Online (Sandbox Code Playgroud)


joa*_*rom 20

这是我最喜欢的:

ipinfodb


小智 19

免费Geolocation API http://ip-api.com/docs/

您可以获取有关您的IP地址,国家,地区,城市,isp,组织的信息.

响应格式和示例:XML,JSON,CSV,PHP.

使用限制:我们的系统将自动禁止每分钟超过240个请求的任何IP地址.

PHP示例

$ip = $_SERVER['REMOTE_ADDR']; 
$query = @unserialize(file_get_contents('http://ip-api.com/php/'.$ip));
if($query && $query['status'] == 'success') {
echo 'My IP: '.$query['query'].', '.$query['isp'].', '.$query['org'].', '.$query ['country'].', '.$query['regionName'].', '.$query['city'].'!';
} else {
echo 'Unable to get location';
}
Run Code Online (Sandbox Code Playgroud)