我使用以下命令来获取URL的内容。
$result = curl_exec($ch);
我想解析生成的文本。现在我正在做的是在等待一个固定的延迟之后解析$result
的内容,以确保加载整个页面并且变量$result
的页面的完整内容可用。
有没有其他方法可以确定整个页面是否已加载?
答案 0 :(得分:2)
除非您使用curl_multi_exec
,否则curl_exec
在整个页面加载之前不会返回任何内容,因此无需执行您要执行的操作。来自manual page:
成功时返回TRUE,失败时返回FALSE。但是,如果 设置CURLOPT_RETURNTRANSFER选项后,它将返回结果 成功,失败就错了。
它不会返回任何内容,在转移完成之前,您的脚本将不会继续。
修改:: 强>
实际发生的事情有点令人困惑,但看起来您正在向浏览器显示页面的HTML内容,而该页面正在将用户重定向到新页面。我猜这是一个javascript或元刷新。防止这种情况发生的唯一方法是解析HTML并删除这些元素。
尝试将header('Content-type: text/plain');
添加到脚本的顶部,您将看到curl实际返回的内容。
答案 1 :(得分:1)
您不需要延迟或其他。
当您从curl返回结果时,它包含整个页面。