kielabokkie / laravel-ipdata
Laravel 对 kielabokkie/ipdata-php 的封装
0.2.1
2018-06-19 00:07 UTC
Requires
- php: >=7.1
- kielabokkie/ipdata: ^0.2
This package is auto-updated.
Last update: 2024-09-10 15:18:25 UTC
README
Laravel 对 kielabokkie/ipdata-php 包的封装,该包通过 ipdata.co API 获取 IP 地址信息。
先决条件
Ipdata 提供免费计划,每天可请求 1,500 次,如果需要更多,则提供付费计划。所有计划都需要 API 密钥,您需要在他们的 网站 上注册以获取一个。
安装
通过 composer 安装包
composer require kielabokkie/laravel-ipdata
如果您使用 Laravel 5.4 或更低版本,或者不使用 Laravel 的自动发现功能,您应该在您的 config/app.php
文件中添加以下内容
'providers' => [ // ... Kielabokkie\LaravelIpdata\IpdataServiceProvider::class, ] 'aliases' => [ // ... 'Ipdata' => Kielabokkie\LaravelIpdata\Facades\Ipdata::class, )
配置
将以下内容添加到您的 config/services.php
文件中
// ... 'ipdata' => [ 'api_key' => env('IPDATA_API_KEY'), ],
更新您的 .env
文件并输入从 Ipdata 获得的 API 密钥
IPDATA_API_KEY=youkeyhere
用法
查找调用 IP 地址
use Kielabokkie\LaravelIpdata\Facades\Ipdata; $res = Ipdata::lookup();
查找特定 IP 地址
use Kielabokkie\LaravelIpdata\Facades\Ipdata; $res = Ipdata::lookup('1.1.1.1');
Ipdata API 将返回以下数据
{ "ip": "1.1.1.1", "is_eu": false, "city": "Research", "region": "Victoria", "region_code": "VIC", "country_name": "Australia", "country_code": "AU", "continent_name": "Oceania", "continent_code": "OC", "latitude": -37.7, "longitude": 145.1833, "asn": "AS13335", "organisation": "Cloudflare Inc", "postal": "3095", "calling_code": "61", "flag": "https://ipdata.co/flags/au.png", "emoji_flag": "🇦🇺", "emoji_unicode": "U+1F1E6 U+1F1FA", "languages": [ { "name": "English", "native": "English" } ], "currency": { "name": "Australian Dollar", "code": "AUD", "symbol": "AU$", "native": "$", "plural": "Australian dollars" }, "time_zone": { "name": "Australia/Melbourne", "abbr": "AEST", "offset": "+1000", "is_dst": false, "current_time": "2018-06-20T11:41:23.068040+10:00" }, "threat": { "is_tor": false, "is_proxy": false, "is_anonymous": false, "is_known_attacker": false, "is_known_abuser": false, "is_threat": false, "is_bogon": false } }
此库将通过 json_decode 运行响应,为您提供易于工作的对象,例如
echo $res->country_name; // Australia echo $res->flag; // https://ipdata.co/flags/au.png