Free proxy seeder for PHP
Via Composer
composer require jtanjung/proxier
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
For other version of the webdriver, please follow these links below:
Note: The version of the browser and its driver must be compatible!
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 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";
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;
});
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