jtanjung/proxier

该软件包最新版本(v0.4-beta)没有提供许可信息。

PHP免费代理种子工具

v0.4-beta 2021-06-10 21:27 UTC

This package is auto-updated.

Last update: 2024-09-11 04:14:31 UTC


README

PHP免费代理种子工具

安装

通过Composer

composer require jtanjung/proxier

需求

此软件包需要从jtanjung/pehape服务中获取服务,该服务包含多个webdriver可执行文件,这些文件是WebPageService运行其功能所需的。至于默认的webdrivers,请参考以下3种不同的浏览器

  • Chrome v90.x
  • Firefox v75.0
  • Opera v75.x

链接

对于webdriver的其他版本,请参考以下链接

注意:浏览器及其驱动程序的版本必须兼容!

使用方法

种子代理

从免费代理网站获取代理IP

use Proxier\ProxySeeder;

$seeder = new ProxySeeder();
$proxy = $seeder->FreeProxyListNet();
$proxy->SetTimeOut(60);
$proxy->Seed();

获取随机代理

从缓存中获取随机代理信息

use Proxier\ProxySeeder;

$seeder = new ProxySeeder();
// Try to get random proxy from the cache
echo "Get a random proxy....\n";
// Call Get function to get a random entry, or pass md5 value of IP:Port
$proxy = $seeder->Seed()->Get();
echo json_encode($proxy) . "\n";

使用事件监听器

通过将事件监听器绑定到种子器,轻松编写代码

use Proxier\ProxySeeder;

$seeder = new ProxySeeder();
$seeder->Bind('OnLoading', function(){
  echo "Start seeding, please wait...\n";
});
$seeder->Bind('OnSeeding', function($value){
  echo json_encode($value) . "\n";
  // You can put block code here to insert the new proxy to database
  /** ->Save([
   *   "ip" => $value->IP,
   *   "port" => $value->Port
   *   "location" => $value->Location
   * ]);
   */
});
$seeder->Bind('OnComplete', function($value){
  echo "\nComplete...\n";
  echo $value->count() ." proxy found.";
});
$seeder->Bind('OnError', function($msg, $exc){
  echo "Message = '$msg'\n";
  // throw $exc;
});

更多选项

使用ProxyTester测试代理

$tester = new Proxier\ProxyTester();
$tester->SetProxy("<IP>", "<PORT>");
$tester->Bind('OnError', function($msg, $exc){
  echo "Message = '$msg'\n";
  // throw $exc;
});
$tester->Run();

更多示例请见此处