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