ip2location / ip2proxy-laravel
允许用户查询IP地址是否被用作开放代理、网络代理、VPN匿名化器和TOR出口。
1.1.3
2023-11-30 07:45 UTC
Requires
- php: >=5.4
- ip2location/ip2proxy-php: >=4
README
IP2Proxy Laravel扩展允许用户查询IP地址,如果它被用作VPN服务器、开放代理、网络代理、Tor出口节点、搜索引擎机器人、数据中心范围、住宅代理、消费者隐私网络和企业管理网络。
注意:此扩展适用于Laravel 6、Laravel 7、Laravel 8和Laravel 9。
安装
运行命令:composer require ip2location/ip2proxy-laravel
将包下载到Laravel平台。
使用
IP2Proxy Laravel扩展能够从BIN数据库或网络服务查询IP地址代理信息。本节将解释如何使用此扩展从BIN数据库和网络服务进行查询。
BIN数据库
- 下载IP2Proxy BIN数据库
- IP2Proxy免费LITE数据库在https://lite.ip2location.com
- IP2Proxy商业数据库在https://www.ip2location.com/proxy-database
- 要使用IP2Proxy数据库,在
database
目录中创建名为ip2proxy
的文件夹。 - 解压缩并将BIN文件复制到
database/ip2proxy/
文件夹中。 - 将BIN文件重命名为IP2PROXY.BIN。
- 使用以下命令在Laravel中创建一个
TestController
:
php artisan make:controller TestController
- 在任意文本编辑器中打开
app/Http/Controllers/TestController.php
。 - 要使用IP2Proxy数据库,将以下行添加到控制器文件中:
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use IP2ProxyLaravel; //use IP2ProxyLaravel class class TestController extends Controller { //Create a lookup function for display public function lookup(){ //Try query the geolocation information of 1.2.3.4 IP address $records = IP2ProxyLaravel::get('1.2.3.4', 'bin'); echo '<p><strong>IP Address: </strong>' . $records['ipAddress'] . '</p>'; echo '<p><strong>IP Number: </strong>' . $records['ipNumber'] . '</p>'; echo '<p><strong>IP Version: </strong>' . $records['ipVersion'] . '</p>'; echo '<p><strong>Country Code: </strong>' . $records['countryCode'] . '</p>'; echo '<p><strong>Country: </strong>' . $records['countryName'] . '</p>'; echo '<p><strong>State: </strong>' . $records['regionName'] . '</p>'; echo '<p><strong>City: </strong>' . $records['cityName'] . '</p>'; echo '<p><strong>Proxy Type: </strong>' . $records['proxyType'] . '</p>'; echo '<p><strong>Is Proxy: </strong>' . $records['isProxy'] . '</p>'; echo '<p><strong>ISP: </strong>' . $records['isp'] . '</p>'; echo '<p><strong>Domain: </strong>' . $records['domain'] . '</p>'; echo '<p><strong>Usage Type: </strong>' . $records['usageType'] . '</p>'; echo '<p><strong>ASN: </strong>' . $records['asn'] . '</p>'; echo '<p><strong>AS: </strong>' . $records['as'] . '</p>'; echo '<p><strong>Last Seen: </strong>' . $records['lastSeen'] . '</p>'; echo '<p><strong>Threat: </strong>' . $records['threat'] . '</p>'; echo '<p><strong>Provider: </strong>' . $records['provider'] . '</p>'; } }
- 将以下行添加到routes/web.php文件中。
Route::get('test', 'TestController@lookup');
- 输入URL /public/test并运行。您应该看到
1.2.3.4
IP地址的信息。
网络服务
- 要使用IP2Location.io或IP2Proxy网络服务,在
config
目录中创建一个名为"site_vars.php"的新文件。 - 在site_vars.php中,保存以下内容用于IP2Location.io:
<?php
return [
'IP2LocationioAPIKey' => 'your_api_key', // Required. Your IP2Location.io API key.
'IP2LocationioLanguage' => 'en', // Optional. Refer to https://www.ip2location.io/ip2location-documentation for available languages.
];
或保存以下内容用于IP2Proxy:
<?php return [ 'IP2ProxyAPIKey' => 'your_api_key', // Required. Your IP2Proxy API key. 'IP2ProxyPackage' => 'PX1', // Required. Choose the package you would like to use. 'IP2ProxyUsessl' => false, // Optional. Use https or http. ];
- 使用以下命令在Laravel中创建一个
TestController
:
php artisan make:controller TestController
- 在任意文本编辑器中打开
app/Http/Controllers/TestController.php
。 - 要使用IP2Proxy网络服务,将以下行添加到控制器文件中。
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use IP2ProxyLaravel; //use IP2ProxyLaravel class class TestController extends Controller { //Create a lookup function for display public function lookup(){ //Try query the geolocation information of 1.2.3.4 IP address $records = IP2ProxyLaravel::get('1.2.3.4', 'ws'); echo '<pre>'; print_r($records); echo '</pre>'; } }
- 将以下行添加到routes/web.php文件中。
Route::get('test', 'TestController@lookup');
- 输入URL /public/test并运行。您应该看到
1.2.3.4
IP地址的信息。
依赖项(IP2PROXY BIN数据文件)
此库需要IP2Proxy BIN数据文件才能运行。您可以在以下位置下载BIN数据文件:
- IP2Proxy LITE BIN数据(免费):https://lite.ip2location.com
- IP2Proxy商业BIN数据(全面):https://www.ip2location.com/proxy-database