множественный вызов curl для одного и того же URL - PullRequest
1 голос
/ 05 октября 2010

Я хочу создать движок попаданий, который имитирует попадания пользователей по конкретному URL, Я использую curl_exec вызов для того же URL в цикле.

Как улучшить производительность этого скрипта?

Как правильно это сделать?

Что я делаю до сих пор:

$options = array( 
 CURLOPT_RETURNTRANSFER => true,     // return web page 
 CURLOPT_HEADER         => true,    // return headers 
 CURLOPT_FOLLOWLOCATION => true,     // follow redirects 
 CURLOPT_ENCODING       => "",       // handle all encodings 
 CURLOPT_USERAGENT      => $useragent, // who am i 
 CURLOPT_AUTOREFERER    => true,     // set referer on redirect 
 CURLOPT_CONNECTTIMEOUT => 120,      // timeout on connect 
 CURLOPT_TIMEOUT        => 120,      // timeout on response 
 CURLOPT_MAXREDIRS      => 1,       // stop after 1 redirects 
 CURLOPT_URL            => $url . $fields_string,
 CURLOPT_SSL_VERIFYPEER => false,  
); 

//open connection
$ch = curl_init();

for ($i = 0; $i < $NumberOfHits; $i++)
{        
 curl_setopt_array($ch, $options);
 //execute post
 $result = curl_exec($ch);
 if(curl_errno($ch))
 {
    $error = "Curl error: " . curl_error($ch) . "\n";
    fwrite($fp, $error);
 }
 $returnCode = curl_getinfo($ch);     
 $my_arr[] = parse_url($returnCode['url'] , PHP_URL_QUERY);
 ...      
}

Я знаю о curl_multi_exec, но эта проблема связана с другими URL-адресами. Было бы правильно использовать ее и в моем случае?

1 Ответ

1 голос
/ 22 февраля 2011

Насколько вам нужна отличная производительность? Вы можете сделать это также с обычным curL_exec с while, я попробовал это, и он смог сделать около 5 попаданий в секунду, так что это 300 попаданий в минуту. хотя это может зависеть от вашего пров.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...