PHP curl多句柄对某些网站不起作用,但它们不能多处理

时间:2018-02-04 20:04:56

标签: php facebook curl asynchronous

我有这段简单的代码。它的工作原理除了多手柄的facebook。我没有得到回应,即使我得到facebook的回复而不是多处理。什么可能是错的?我使用XAMPP并没有出现卷曲错误。我要提到的另一件事是,它是我唯一能够执行多手柄的方法。其他人做了无限循环或没有回应。

<?php

$url = 'http://m.facebook.com';
curl_setopt($ch, CURLOPT_URL, $url);
$page=curl_exec($ch);

echo $page;

$ch1 = curl_init();
$ch2 = curl_init();
$ch3 = curl_init();

curl_setopt($ch1, CURLOPT_URL, "https://jbzdy.pl/");
curl_setopt($ch2, CURLOPT_URL, "http://m.facebook.com/");
curl_setopt($ch3, CURLOPT_URL, "https://www.reddit.com");

$mh = curl_multi_init();

curl_multi_add_handle($mh,$ch1);
curl_multi_add_handle($mh,$ch2);
curl_multi_add_handle($mh,$ch3);

$running = null;
do
{
    curl_multi_exec($mh, $running);
}
while($running > 0);

$page1 = curl_multi_getcontent($ch1);
$page2 = curl_multi_getcontent($ch2);
$page3 = curl_multi_getcontent($ch3);

echo $page1;
echo $page2;
echo $page3; 

echo curl_error($ch2);
?>

1 个答案:

答案 0 :(得分:0)

我认为问题出在301重定向,尝试添加:

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);