如果打印结果,则cUrl等待url加载

时间:2018-09-25 20:12:18

标签: php curl

以下情况每次且仅当在curl调用之后打印$data时,以下curl调用才会成功。 curl_getinfo()返回

[content_type] => text/html; charset=UTF-8

如果未打印$data,则curl呼叫有时返回与上述相同的结果,并且有时返回$data为“正在加载...”,表示该页面尚未完成加载。 curl_getinfo()返回

[content_type] => text/html

此外,当使用print_r($data)时,我可以看到我的网站上的print_r(curl_getinfo($ch));在执行curl通话时被更新了几次。什么... F ...

set_opt列表越来越大,因为我正试图找到一个解决方案,哈哈) 哦,是的,即使我在将$data返回到函数调用程序并捕获到另一个变量之后也打印了curl。每次print_r($data)都会成功。

这是正常行为吗?我不想print_r($data)

我检索的网址是否可能包含当我在网站上“打印”它时运行的javascript?为什么没有curl时偶尔会起作用?参考:is-there-a-way-to-let-curl-wait-until-the-pages-dynamic-updates-are-done

edit:直到另行通知,我将function curl_get_contents($url) { global $dbg; $ch = curl_init(); $timeout = 30; curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_NOSIGNAL, 1); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); //curl_setopt($ch,CURLOPT_USERAGENT,'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13'); curl_setopt($ch,CURLOPT_USERAGENT,'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17'); curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY); curl_setopt($ch,CURLOPT_AUTOREFERER, true); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_FRESH_CONNECT, true); $data = curl_exec($ch); if ($dbg) { print_r(curl_getinfo($ch)); // This one gets refreshed if print_r($data) used below if(curl_errno($ch)){ echo 'Curl error: ' . curl_error($ch); } else { echo "ALL GOOD <br>"; } } curl_close($ch); //echo $data; // If I do this... //print_r($data); // ... or this. curl is success 100%. return $data; } 调用置于while循环中,检查下载的大小是否超过某个阈值。我将while循环设置为10次迭代,到目前为止,这已经足够了,即它将能够下载感兴趣的内容。消耗的时间几乎没有注意到。

mapDispatchToProps

0 个答案:

没有答案