大家好,我现在两天都遇到这个问题,需要您的帮助。
我想通过数组在我的php curlopt中使用代理,在进行下一个代理之前,将使用一个代理五次。
根据Google搜索者在两个页面上得知的唯一信息是:
$fp = @fopen($filename, 'r');
// Add each line to an array
if ($fp) {
$array = explode("\n", fread($fp, filesize($filename)));
}
但是当我回显数组时,它会显示文本文件中的所有代理,而不仅仅是导致无法读取curl的代理:
curl_setopt($ch, CURLOPT_PROXY, $poxySocks4);
有什么方法可以使用一个代理五次,然后再进行另一次?请帮助我。
编辑:这是完整的代码:
function binsforeveryoneproxys()
{
$fileName='joestar.txt'; //textfile
$proxies = file($fileName, FILE_IGNORE_NEW_LINES);
foreach ( $proxies as $proxy ) {
echo $proxy;
return $proxies;
}
}
$saitama= binsforeveryoneproxys();
curl_setopt($ch, CURLOPT_PROXY, $saitama);
curl_setopt($ch, CURLOPT_URL, '');
curl_setopt($ch, CURLOPT_USERAGENT, getcwd().'/cookie.txt');
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'accept: application/json',
'content-type: application/x-www-form-urlencoded',
'origin: ',
'referer: '
));
//////////////////////////// POSTFIELD 1 //////////////////////////
curl_setopt($ch, CURLOPT_POSTFIELDS, '');
$result = curl_exec($ch);
答案 0 :(得分:0)
您可以使用file()
,它将在文件的行列表中读取为数组的单独行。这样省去了打开/读取/分割文件的麻烦。
然后在此列表上使用foreach()
和for()
循环来做重复部分...
$proxies = file( $fileName, FILE_IGNORE_NEW_LINES);
foreach ( $proxies as $proxy ) {
echo $proxy.PHP_EOL;
for ( $i = 0; $i < 5; $i++ ) {
// .....
}
}