как случайным образом назначить прокси для curl? - PullRequest
1 голос
/ 30 января 2010

Я хочу, чтобы мой curl использовал случайный прокси из файла proxy.txt, который сохранен на моем сайте в следующем формате:

1.1.1.1:8080
2.2.2.2:8080
3.3.3.3:8080
...

Я хочу, чтобы это было сделано случайным образом, чтобы каждый раз он использовал разные прокси из списка proxy.txt, но я понятия не имею, могу ли я что-то подобное написать в php.

Ответы [ 2 ]

1 голос
/ 30 января 2010

Чтение случайной строки из файла:

srand ((double)microtime()*1000000);
$f_contents = file ("proxy.txt");
$line = $f_contents[array_rand ($f_contents)];
print $line;

Все, что вам нужно сейчас:

function get_random_proxy()
{
    srand ((double)microtime()*1000000);
    $f_contents = file ("proxy.txt");
    $line = $f_contents[array_rand ($f_contents)];
    return $line;
}
0 голосов
/ 03 декабря 2010

Опоздал на вечеринку, но хотел поделиться этим:

По существу, статическая переменная $proxys устанавливается только один раз и запоминает указатель массива, поэтому каждый раз, когда вы вызываете change_proxy(), она выдаст вам следующее в файле, а затем вернется к началу, когда она зациклилась один раз.

function change_proxy()
{
  static $proxys = file('./proxy.txt', FILE_SKIP_EMPTY_LINES|FILE_IGNORE_NEW_LINES);

  $proxy = current($proxys);
  $end = next($proxys); # false when end
  if(!$end) {
    reset($proxys);
  }
  return $proxy;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...