whois-api / simple-geoip
获取IP地理位置信息的可能最简单的方式。
1.0.0
2018-08-28 09:46 UTC
Requires
- php: ^5.5 || ^7.0
- ext-json: *
- guzzlehttp/guzzle: ~6.0
- nesbot/carbon: ~1.18
Requires (Dev)
- phpunit/php-code-coverage: ^6.0
- phpunit/phpunit: ^7
This package is not auto-updated.
Last update: 2024-09-19 15:24:50 UTC
README
PHP中获取IP地理位置信息的可能最简单的方式。
先决条件
要使用此库,您需要创建一个免费的IP地理位置账户:https://ip-geolocation.whoisxmlapi.com/api
如果您还没有这样做,请现在就去做。
安装
要使用composer安装simple-geoip
,只需在项目目录根目录下运行以下命令:
$ composer require whois-api/simple-geoip
要使用此库,请使用Composer的自动加载
require_once __DIR__ . "/vendor/autoload.php";
要求
支持的PHP版本
- PHP 5.6.x
- PHP 7.0.x
- PHP 7.1.x
- PHP 7.2.x
依赖
- mbstring
- mbregex
- json
- curl
文档
完整的API文档可在此处找到
用法
安装完simple-geoip
后,您可以轻松地使用它来查找给定IP地址的物理位置。
此库为您提供了各种地理位置数据,您可以在应用程序中以各种方式使用这些数据。
<?php require_once __DIR__ . '/../vendor/autoload.php'; use WhoisApi\SimpleGeoip\Builders\ClientBuilder; $builder = new ClientBuilder(); $client = $builder->build('your API_KEY'); try { echo $client->getRawData('8.8.8.8', 'json') . PHP_EOL; echo print_r($client->get('8.8.8.8'), 1) . PHP_EOL; $result = $client->get('1.1.1.1'); echo 'IP: ' . $result->ip . PHP_EOL; echo 'Country: ' . $result->location->country . PHP_EOL; echo 'Region: ' . $result->location->region . PHP_EOL; echo 'City: ' . $result->location->city . PHP_EOL; echo 'Latitude: ' . $result->location->lat . PHP_EOL; echo 'Longitude: ' . $result->location->lng . PHP_EOL; echo 'Postal Code: ' . $result->location->postalCode . PHP_EOL; echo 'Timezone: ' . $result->location->timezone . PHP_EOL; } catch (\Throwable $exception) { echo "Error: {$exception->getCode()} {$exception->getMessage()}" . PHP_EOL; }
更多示例您可以在"examples"目录中查看。
当执行IP地理位置查找请求时,您可能会得到以下类型的数据
{ "ip": "8.8.8.8", "location": { "country": "US", "region": "California", "city": "Mountain View", "lat": 37.40599, "lng": -122.078514, "postalCode": "94043", "timezone": "-08:00" } }
开发
在您克隆此存储库后,您需要安装所有要求
$ composer install
要运行测试,可以使用以下命令
$ composer run-script test