whois-api/simple-geoip

获取IP地理位置信息的可能最简单的方式。

1.0.0 2018-08-28 09:46 UTC

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