PHP cURL повторяет curl_multi_exec - PullRequest
1 голос
/ 15 мая 2011

С обычным curl, когда я заходил на страницу с обычным curl, он давал мне исходный код одной страницы.И я мог бы просто получить его в виде строки:

$ch = curl_init();
$contents = curl_exec($ch);
echo $contents;  // echos sourcecode of one page

Но теперь у меня есть curl_multi_exec, я попытался повторить его, но он дал мне 0000000000000.

$mh = curl_multi_init();

curl_multi_add_handle($mh,$curls[0]);
curl_multi_add_handle($mh,$curls[1]);
curl_multi_add_handle($mh,$curls[2]);
curl_multi_add_handle($mh,$curls[3]);
curl_multi_add_handle($mh,$curls[4]);


$running = null;
do {
    usleep(10000);
    $sisu = curl_multi_exec($mh, $running);
} while($running > 0);
echo $sisu;  // just echos 000000000000000 , but it should echo source of 5 pages

ЧтоЯ делаю не так?

Ответы [ 2 ]

4 голосов
/ 16 мая 2011

Попробуйте это после цикла while:

for($i=0;$i<5;$i++) {
    $resps[$i] = curl_multi_getcontent($curls[$i]);
    echo $resps[$i];
}
4 голосов
/ 15 мая 2011

Посмотрите на функцию curl_multi_getcontent() и опцию CURLOPT_RETURNTRANSFER.

Вот хороший пример использования кода curl_multi: http://www.jaisenmathai.com/articles/php-curl-asynchronous.html

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