我通过PHP使用CURL,我需要了解如果请求在此过程中被重定向。
我使用 curl_setopt()将 CURLOPT_FOLLOWLOCATION 选项设置为true。
现在,如果我请求example.com/page.php
,如果页面更改位置而不手动解析响应的标头,我该如何理解?
谢谢
答案 0 :(得分:1)
不要使用CURLOPT_FOLLOWLOCATION
,而是发出HEAD请求并检查响应状态代码是否为重定向(301,302,303,305和307是重定向代码)
使用CURLOPT_NOBODY
可以使用curl_getinfo($ch, CURLINFO_HTTP_CODE);
<强>更新强>
如果您需要实际重定向页面的响应,我找到了一个更简单的解决方案:
if (curl_getinfo($ch, CURLINFO_REDIRECT_COUNT) > 0) {
// redirected
}
因此,您可以关注重定向并确定之后是否有任何重定向。