如何为curl随机分配代理?

时间:2010-01-30 18:09:38

标签: php proxy curl

我希望我的curl能够使用以下格式保存在我网站上的proxy.txt文件中的随机代理:

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

我希望它随机使它,以便每次它使用来自proxy.txt列表的不同代理,但我不知道我可以在php中编写类似的东西。

2 个答案:

答案 0 :(得分:1)

从文件中读取随机行:

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;
}

答案 1 :(得分:0)

晚会但想分享一下:

基本上静态变量$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;
}