Это кое-что из того, что я пробовал .. Я все еще получаю ошибку Вызов функции-члена getProxy () и Неопределенная переменная: rotate , после того как я определил функцию getproxy, я думаю, что я слепой, потому что есть кое-что, чего я не вижу, пожалуйста, если у вас есть какой-то совет, поделитесь им :). PS: Что я имею в виду под вращением, так это путем рандомизации каждого прокси и использования его при использовании curl «post», извините, если это плохой пост.
Class RotateProxy{
private $proxy = '';
private $fp = '';
private $list = array();
private $counter; //number of times proxy used. Default is 1
private $current; //number of times proxy HAS been used.
public function __constructor($path,$counter=1){
$this->list = trim(file($path));
$this->$counter = $counter;
}
public function getProxy(){
if($this->current > $this->counter){
array_shift($this->list);
$this->current = 1;
$this->proxy = $this->list[0];
return $this->proxy;
}else{
$this->current++;
return $this->proxy;
}
}
}
$proxylist = __DIR__ . 'proxies.txt'; // just an example.
$proxy = $rotate->getProxy();
$counter = 1; // proxy will be used 5 times before moving to the next proxy.
$rotate = new RotateProxy($proxylist,$counter);
$session = mt_rand();
$curl = curl_init('https://api.ipify.org/');
curl_setopt($curl, CURLOPT_USERAGENT, $user_agent);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_PROXY, $proxy);
$result = curl_exec($curl);
curl_close($curl);
if ($result)
echo $result;
?>```