jtanjung / proxier
There is no license information available for the latest version (v0.4-beta) of this package.
Free proxy seeder for PHP
v0.4-beta
2021-06-10 21:27 UTC
Requires
- jtanjung/pehape: ~v1.6-beta
README
Free proxy seeder for PHP
Install
Via Composer
composer require jtanjung/proxier
Requirements
This package require a service from jtanjung/pehape which contain several webdriver executable files that are needed by WebPageService to run its functionalities. As for the default webdrivers, please refer to these 3 different browser below:
- Chrome v90.x
- Firefox v75.0
- Opera v75.x
Links
For other version of the webdriver, please follow these links below:
Note: The version of the browser and its driver must be compatible!
How to use
Seeding Proxy
Fetch proxy IPs from a free proxy sites:
use Proxier\ProxySeeder; $seeder = new ProxySeeder(); $proxy = $seeder->FreeProxyListNet(); $proxy->SetTimeOut(60); $proxy->Seed();
Get a Random Proxy
Get a random proxy information from the cache:
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";
Using Event Listener
Easy coding by binding event listeners to the seeder:
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; });
More options
Testing proxy using ProxyTester:
$tester = new Proxier\ProxyTester(); $tester->SetProxy("<IP>", "<PORT>"); $tester->Bind('OnError', function($msg, $exc){ echo "Message = '$msg'\n"; // throw $exc; }); $tester->Run();
See more examples here