PHP:CURL 可以跟随元重定向

Posted

技术标签:

【中文标题】PHP:CURL 可以跟随元重定向【英文标题】:PHP: Can CURL follow meta redirects 【发布时间】:2010-12-21 16:46:43 【问题描述】:

CURL 可以使用 CURLOPT_FOLLOWLOCATION 跟随标头重定向,但是否可以跟随元刷新重定向?

谢谢

【问题讨论】:

【参考方案1】:

是的,但您必须自己通过解析响应并查找类似内容来完成:

<meta http-equiv="refresh" content="5;url=http://example.com/" />

遵守&lt;meta&gt; 刷新请求是浏览器端的事情。使用 DOM 解析在 cURL 为您提供的响应中查找具有适当属性的 &lt;meta&gt; 标记。

如果您可以保证响应是有效的 XML,您可以执行以下操作:

$xml = simplexml_load_file($cURLResponse);
$result = $xml->xpath("//meta[@http-equiv='refresh']");
// Process the $result element to get the relevant bit out of the content attribute

【讨论】:

以上是关于PHP:CURL 可以跟随元重定向的主要内容,如果未能解决你的问题,请参考以下文章

正文标签内的 HTML 重定向?

CURL 不遵循 301 重定向,我需要做啥?

如何使用 cURL 找到我将被重定向的位置?

php 用curl_exec 采集页面内容,结果 302重定向

CTF_WriteUp_HTTP——302临时重定向问题

php curl抓取网页内容在服务器上报302Found,怎么解决