24

IPから地域と都市を取得するにはどうすればよいですか? このサービスを見つけました: http://api.hostip.info/?ip=xyz.qwe.rty

しかし、次のような正確な情報は得られません: http://www.ipaddresslocation.org/

無料サービスをご存知ですか?この情報を PHP スクリプトで取得する必要がありますが、外部ライブラリはインストールしません。

どうもありがとう

4

5 に答える 5

36

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
}

PHP の例を次に示します。

$details = json_decode(file_get_contents("http://ipinfo.io/".$_SERVER['REMOTE_ADDR']"));
echo $details->city; // -> "Mountain View"
于 2013-07-14T02:54:59.427 に答える
20

無料のジオロケーション API http://ip-api.com/docs/

IP アドレス、国、地域、都市、ISP、組織に関する情報を取得できます。

応答の形式と例: XML、JSON、CSV、PHP。

使用制限: 当社のシステムは、1 分間に 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';
}
于 2014-03-14T10:48:01.400 に答える
19

これは私のお気に入りです:

ipinfodb

于 2011-06-14T22:03:33.460 に答える
1

http://www.ipaddresslocation.org/から IP の市区町村を取得する場合は、次のチュートリアルに従います: https://www.facebook.com/Websitedevelopar/posts/468049883274297 ただし、正規表現を次の文字列で変更します。

/<i>([a-z\s]+)\:[<\/i>\s]+<b>(.*)<\/b>/im

さよなら

于 2013-07-02T16:53:19.193 に答える
1

これを試すことができます。

$tags = get_meta_tags('http://www.geobytes.com/IpLocator.htm?GetLocation&template=php3.txt&IpAddress=94.55.180.139'); print $tags['city']; // 都市名

于 2012-09-25T10:58:13.510 に答える