使用curl PHP获取最终重定向状态代码
我想找到某个站点中某个网页的最终重定向状态代码。在给定的到期日之后,该网站将删除这些页面,并将您重定向到其带有404状态代码的主页 假设我想去的一个页面是使用curl PHP获取最终重定向状态代码,php,.htaccess,redirect,curl,Php,.htaccess,Redirect,Curl,我想找到某个站点中某个网页的最终重定向状态代码。在给定的到期日之后,该网站将删除这些页面,并将您重定向到其带有404状态代码的主页 假设我想去的一个页面是http://example.com/my-page此页面已不存在。所以它会将我重定向到http://example.com/。我用chrome开发者工具检查了一下,它发送了一个404状态码 现在问题来了。我想检查一下这个页面是否是404。我有以下PHP函数 function findStatus($url) {
http://example.com/my-page
此页面已不存在。所以它会将我重定向到http://example.com/
。我用chrome开发者工具检查了一下,它发送了一个404状态码
现在问题来了。我想检查一下这个页面是否是404。我有以下PHP函数
function findStatus($url)
{
$handle = curl_init($url);
curl_setopt($handle, CURLOPT_RETURNTRANSFER, TRUE);
/* Check for 404 (file not found). */
$httpCode = curl_getinfo($handle, CURLINFO_HTTP_CODE);
curl_close($handle);
if ($httpCode == 404) {
return true;
} else {
return false;
}
}
当我用上面的函数检查相关页面时,我得到302永久重定向。我猜这个函数在重定向之前会得到状态码
描述如何获取URL,但不获取状态代码。页面重定向完成后,如何获取状态代码?既然您找到了答案: 你离它很近
curl\u getinfo()
可以获取大量信息
$url = 'http://localhost:8080/loc.php';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
$html = curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);
print_r($info);
# Array
# (
# [url] => http://localhost:8080/dest.php
# [content_type] => text/html; charset=UTF-8
# [http_code] => 404