gai871013/ip-location

纯真IP地址,composer包(解析QQWay.dat)

1.1.240509 2024-05-09 10:32 UTC

This package is auto-updated.

Last update: 2024-09-20 07:07:13 UTC


README

纯真IP地址库,composer包(解析QQWry.dat)。

记录总数:628,031条 更新日期:2024年05月08日

安装

$ composer require gai871013/ip-location -vvv

使用方法

在Laravel中使用

1. 在 config/app.php 注册 ServiceProvider 和 Facade (Laravel 5.5 + 无需手动注册)

<?php
['providers' => [
    // ...
    Gai871013\IpLocation\ServiceProvider::class,
],
'aliases' => [
    // ...
    'IpLocation' => Gai871013\IpLocation\Facades\IpLocation::class,
],
];

2. 使用:

<?php
use Gai871013\IpLocation\Facades\IpLocation;

    // ...
    dump(app('IpLocation')->getLocation('www.wc87.com'));
    dd(IpLocation::getLocation('8.8.4.4'));
    array(
      "ip" => "101.200.45.167",
      "beginip" => "101.200.0.0",
      "endip" => "101.201.255.255",
      "country" => "北京市",
      "area" => "阿里云BGP数据中心",
    );

    array(
      "ip" => "8.8.4.4",
      "beginip" => "8.8.4.4",
      "endip" => "8.8.4.4",
      "country" => "美国",
      "area" => "加利福尼亚州圣克拉拉县山景市谷歌公司DNS服务器",
    );
    // ...

基本使用

<?php
use Gai871013\IpLocation\IpLocation;

$ipLocation = new IpLocation();

// url
$url = 'https://www.baidu.com';
$ip = '127.0.0.1';
// 使用域名国家&运营商
$result = $ipLocation->getLocation($url);
dump($result);

array(
  "ip" => "61.135.169.125",
  "beginip" => "61.135.169.0",
  "endip" => "61.135.169.255",
  "country" => "北京市",
  "area" => "北京百度网讯科技有限公司联通节点",
);

// 使用IP地址国家&运营商
$result = $ipLocation->getLocation($ip);
dump($result);

array(
  "ip" => "127.0.0.1",
  "beginip" => "127.0.0.1",
  "endip" => "127.0.0.1",
  "country" => "本机地址",
  "area" => "",
)
?>
<?php
# ipip
$path = 'path-to-ipdb.ipdb' || null;

$city = new Gai871013\IpLocation\ipip\db\City($path);
var_dump($city->find('118.28.1.1'));
var_dump($city->find('8.8.8.8'));
var_dump($city->find('127.0.0.1'));

贡献

您可以通过以下三种方式之一进行贡献

  1. 使用 问题追踪器 提交错误报告。
  2. 问题追踪器 上回答问题或修复错误。
  3. 贡献新功能或更新wiki。

代码贡献过程并不非常正式。您只需确保遵循PSR-0、PSR-1和PSR-2编码规范。任何新的代码贡献都必须伴随适用的单元测试。

许可证

MIT

赞助商

JetBrains