ip2location / ip2proxy-cakephp
允许用户查询IP地址,如果它被用作公开代理、网页代理、VPN匿名化器和TOR出口节点、搜索引擎机器人、数据中心范围和住宅代理。
1.1.2
2023-12-11 06:04 UTC
Requires
- php: >=5.4.0
- cakephp/cakephp: >=3.0
- ip2location/ip2proxy-php: >=3.0
Requires (Dev)
- phpunit/phpunit: ^9
This package is auto-updated.
Last update: 2024-09-19 02:17:21 UTC
README
IP2Proxy CakePHP插件允许用户查询IP地址,如果它被用作公开代理、网页代理、VPN匿名化器和TOR出口节点、搜索引擎机器人、数据中心范围、住宅代理、消费者隐私网络和企业管理网络。它可以从IP2Proxy BIN数据文件或网络服务中查找代理IP地址。开发人员可以使用API查询所有IP2Proxy BIN数据库或网络服务,用于使用CakePHP编写的应用程序。
安装
对于CakePHP 4.x
- 运行以下命令:
composer require ip2location/ip2proxy-cakephp
将插件下载到CakePHP 4平台。 - 下载最新的IP2Proxy BIN数据库
- IP2Proxy免费LITE数据库在 https://lite.ip2location.com
- IP2Proxy商业数据库在 https://www.ip2location.com/proxy-database
- 解压并将BIN文件复制到 cakephp/vendor/ip2location/ip2proxy-cakephp/src/Data 文件夹。
- 将BIN文件重命名为IP2PROXY.BIN。
注意: 插件包含了一个旧的BIN数据库供您测试和开发使用。您可能需要下载最新版本的BIN数据库,如上述URL所示。BIN数据库指的是以.BIN扩展名结尾的二进制文件,而不是CSV格式。请选择正确的软件包进行下载。
使用方法
在本教程中,我们将向您展示如何创建一个用于显示IP信息的 TestsController。
- 使用以下命令行在CakePHP 4中创建一个 TestsController
php bin/cake bake controller Tests
- 在 cakephp/templates/Tests 文件夹中创建一个空的 index.php 文件。
- 使用任何文本编辑器打开 cakephp/src/Controller/TestsController.php。
- 删除TestsController.php中的内容,并将以下行添加到控制器文件中。
<?php
namespace App\Controller;
use App\Controller\AppController;
use IP2ProxyCakePHP\Controller\IP2ProxyCoresController;
// (required) Define IP2Location.io API key.
define('IP2LOCATION_IO_API_KEY', 'your_api_key');
// (optional) Define Translation information. Refer to https://www.ip2location.io/ip2location-documentation for available languages.
define('IP2LOCATION_IO_LANGUAGE', 'en');
/**
* Tests Controller
*/
class TestsController extends AppController
{
/**
* Index method
*
* @return \Cake\Http\Response|void
*/
public function index()
{
$IP2Proxy = new IP2ProxyCoresController();
$record = $IP2Proxy->get('1.0.241.135');
echo 'Result from BIN Database:<br>';
echo '<p><strong>IP Address: </strong>' . $record['ipAddress'] . '</p>';
echo '<p><strong>IP Number: </strong>' . $record['ipNumber'] . '</p>';
echo '<p><strong>IP Version: </strong>' . $record['ipVersion'] . '</p>';
echo '<p><strong>Country Code: </strong>' . $record['countryCode'] . '</p>';
echo '<p><strong>Country: </strong>' . $record['countryName'] . '</p>';
echo '<p><strong>State: </strong>' . $record['regionName'] . '</p>';
echo '<p><strong>City: </strong>' . $record['cityName'] . '</p>';
echo '<p><strong>Proxy Type: </strong>' . $record['proxyType'] . '</p>';
echo '<p><strong>Is Proxy: </strong>' . $record['isProxy'] . '</p>';
echo '<p><strong>ISP: </strong>' . $record['isp'] . '</p>';
echo '<p><strong>Domain: </strong>' . $record['domain'] . '</p>';
echo '<p><strong>Usage Type: </strong>' . $record['usageType'] . '</p>';
echo '<p><strong>ASN: </strong>' . $record['asn'] . '</p>';
echo '<p><strong>AS: </strong>' . $record['as'] . '</p>';
echo '<p><strong>Last Seen: </strong>' . $record['lastSeen'] . '</p>';
echo '<p><strong>Threat: </strong>' . $record['threat'] . '</p>';
echo '<p><strong>Provider: </strong>' . $record['provider'] . '</p>';
$record = $IP2Proxy->getWebService('1.0.241.135');
echo 'Result from Web service:<br>';
echo '<pre>';
print_r ($record);
echo '</pre>';
}
}
- 输入URL /Tests 并运行。您应该看到 1.0.241.135 IP地址的信息。
依赖
此库需要IP2Proxy BIN或IP2Proxy API密钥数据文件才能运行。您可以在以下位置下载BIN数据文件
- IP2Proxy LITE BIN数据(免费):https://lite.ip2location.com
- IP2Proxy商业BIN数据(全面):https://www.ip2location.com/proxy-database
您还可以注册 IP2Location.io IP定位API 获取一个免费的API密钥。