我有一个使用curl的脚本来获取网页的html。有时它会完美地获取信息,而有时它似乎会挂起。我提出了超时规定 -
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
所以现在脚本不再挂起,但是当它超时时,它不会返回任何html。有没有办法让curl在超时之前获得所有html?或者,是否有其他方法可以实现这个想法 - “从URL中获取指定时间段内的所有html”?
答案 0 :(得分:1)
使用CURLOPT_FILE
示例:
<?php
$ch = curl_init("http://www.example.com/");
$fp = fopen("/path/to/save/file", "w");
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
curl_close($ch);
fclose($fp);
echo file_get_contents("/path/to/save/file");
?>
答案 1 :(得分:0)
使用流包装器,您甚至可以即时解析数据。看看这个: Manipulate a string that is 30 million characters long