1. Go to this page and download the library: Download truongbo/proxy-rotation library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
use TruongBo\ProxyRotation\Rotation;
use TruongBo\ProxyRotation\Strategy\RoundRobin;
$rotation = new Rotation(new RoundRobin(counter: 0));
use TruongBo\ProxyRotation\ProxyServer\ProxyCluster;
use TruongBo\ProxyRotation\ProxyServer\ProxyNode;
$proxy_cluster = new ProxyCluster(
cluster_name: 'cluster1',
array_proxy_node: [
new ProxyNode(name: 'proxy-node1'),
new ProxyNode(name: 'proxy-node2'),
new ProxyNode(name: 'proxy-node3'),
new ProxyNode(name: 'proxy-node4'),
]);
use GuzzleHttp\HandlerStack;
use GuzzleHttp\Client;
use TruongBo\ProxyRotation\Middleware\ProxyMiddleware;
$stack = HandlerStack::create();
$stack->push(new ProxyMiddleware(rotation: $rotation,proxy_cluster: $proxy_cluster));
$client = new Client([
'handler' => $stack,
]);
use TruongBo\ProxyRotation\ProxyServer\ProxyCluster;
use TruongBo\ProxyRotation\ProxyServer\ProxyNode;
$proxy_cluster = new ProxyCluster(
cluster_name: 'cluster1',
array_proxy_node: [
new ProxyNode(name: 'proxy-node1',weight: 1000),
new ProxyNode(name: 'proxy-node2',weight: 20),
new ProxyNode(name: 'proxy-node3',weight: 200),
new ProxyNode(name: 'proxy-node4',weight: 10),
]);
$proxy_cluster->sort("desc");
$cluster = new ProxyCluster('cluster1', [
new ProxyNode(name: 'node1',weight: 3,max_use: 4,max_use_wait: 10),
new ProxyNode(name: 'node2',weight: 1,max_use: 2,max_use_wait: 20),
]);
use TruongBo\ProxyRotation\Rotation;
use TruongBo\ProxyRotation\Strategy\Random;
use TruongBo\ProxyRotation\ProxyServer\ProxyCluster;
use TruongBo\ProxyRotation\ProxyServer\ProxyNode;
$rotation = new Rotation(new Random(input_random: "both"));
$proxy_cluster = new ProxyCluster(
cluster_name: 'cluster1',
array_proxy_node: [
new ProxyNode(name: 'proxy-node1',weight: 20),
new ProxyNode(name: 'proxy-node2'),
new ProxyNode(name: 'proxy-node3'),
new ProxyNode(name: 'proxy-node4',weight: 100),
]);
use TruongBo\ProxyRotation\ProxyServer\ProxyCluster;
use TruongBo\ProxyRotation\ProxyServer\ProxyNode;
use TruongBo\ProxyRotation\Strategy\Frequency;
$rotation = new Rotation(new Frequency(frequency: 0.8, depth: 0.2));
$proxy_cluster = new ProxyCluster(
cluster_name: 'cluster1',
array_proxy_node: [
new ProxyNode(name: 'proxy-node1',weight: 2048),
new ProxyNode(name: 'proxy-node2',weight: 1024),
new ProxyNode(name: 'proxy-node3',weight: 512),
new ProxyNode(name: 'proxy-node4',weight: 256),
new ProxyNode(name: 'proxy-node5',weight: 256),
new ProxyNode(name: 'proxy-node6',weight: 64),
new ProxyNode(name: 'proxy-node7',weight: 32),
new ProxyNode(name: 'proxy-node8',weight: 16),
new ProxyNode(name: 'proxy-node9',weight: 8),
new ProxyNode(name: 'proxy-node10',weight: 4),
]);
$cluster->sort("desc");
use TruongBo\ProxyRotation\Rotation;
use TruongBo\ProxyRotation\Strategy\RoundRobin;
use TruongBo\ProxyRotation\ProxyServer\ProxyCluster;
use TruongBo\ProxyRotation\ProxyServer\ProxyNode;
$rotation = new Rotation(new RoundRobin(counter: 0));
$proxy_cluster = new ProxyCluster(
cluster_name: 'cluster1',
array_proxy_node: [
new ProxyNode(name: 'proxy-node1'),
new ProxyNode(name: 'proxy-node2'),
new ProxyNode(name: 'proxy-node3'),
new ProxyNode(name: 'proxy-node4'),
]);
use TruongBo\ProxyRotation\Rotation;
use TruongBo\ProxyRotation\Strategy\WeightedRoundRobin;
use TruongBo\ProxyRotation\ProxyServer\ProxyCluster;
use TruongBo\ProxyRotation\ProxyServer\ProxyNode;
$rotation = new Rotation(new WeightedRoundRobin(counter: 0));
$proxy_cluster = new ProxyCluster(
cluster_name: 'cluster1',
array_proxy_node: [
new ProxyNode(name: 'proxy-node1', weight: 3),
new ProxyNode(name: 'proxy-node2'),
new ProxyNode(name: 'proxy-node3', weight: 1),
new ProxyNode(name: 'proxy-node4', weight: 1),
]);
use TruongBo\ProxyRotation\Rotation;
use TruongBo\ProxyRotation\Strategy\WeightedRoundRobin;
use TruongBo\ProxyRotation\ProxyServer\ProxyCluster;
use TruongBo\ProxyRotation\ProxyServer\ProxyNode;
$rotation = new Rotation(new MultipleDynamic(
new RoundRobin(counter: 0),
new Random(input_random: "has_weight"),
new WeightedRoundRobin(counter: 0),
));
$proxy_cluster = new ProxyCluster(
cluster_name: 'cluster1',
array_proxy_node: [
new ProxyNode(name: 'proxy-node1', weight: 3),
new ProxyNode(name: 'proxy-node2'),
new ProxyNode(name: 'proxy-node3', weight: 1),
new ProxyNode(name: 'proxy-node4', weight: 1),
]);
while (true) {
$node = $rotation->pick($cluster, function (ProxyNode $proxy_node){
//condition switch between strategies in here.
});
echo $node?->name;
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.