curl_getinfo 函数返回大量有关 HTTP 请求结果的元数据。但是,由于某种原因,它不包含我目前想要的信息,如果请求返回 HTTP 重定向代码,则该信息是目标 URL。
我没有使用 CURLOPT_FOLLOWLOCATION 因为我想将特定的重定向代码作为特殊情况处理。
如果 cURL 可以跟踪重定向,为什么它不能告诉我当它不跟踪重定向时它们重定向到什么?
当然,我可以设置 CURLOPT_HEADER 标志并选择 Location 标头。但有没有更有效的方法呢?
您可以简单地使用它:(CURLINFO_REDIRECT_URL)
$info = curl_getinfo($ch, CURLINFO_REDIRECT_URL);
echo $info; // the redirect URL without following it
正如您所提到的,禁用 CURLOPT_FOLLOWLOCATION 选项(在执行之前)并在执行后放置我的代码。
CURLINFO_REDIRECT_URL - 使用 CURLOPT_FOLLOWLOCATION 选项
禁用:在上次事务中找到的重定向 URL,应该是
接下来手动请求。使用 CURLOPT_FOLLOWLOCATION 选项
启用:这是空的。本例中的重定向 URL 可在
CURLINFO_EFFECTIVE_URL
Refrence https://www.php.net/manual/en/function.curl-getinfo.php
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)