我正在尝试获取服务器重定向网址。我试过使用cURL查找网站重定向的位置?
function http_head_curl($url,$timeout=10)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_TIMEOUT, $timeout); // in seconds
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_NOBODY, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$res = curl_exec($ch);
if ($res === false) {
throw new RuntimeException("cURL exception: ".curl_errno($ch).": ".curl_error($ch));
}
return trim($res);
}
echo http_head_curl("http://www.site.com",$timeout=10);
结果是;
HTTP/1.1 301永久移动日期:孙老师,2013年5月12日23时34分22秒GMT 服务器:Apache连接:关闭X供电-者:PHP/5.3.23 的Set-Cookie:PHPSESSID = 0d4b28dd02bd3d8413c92f71253e8b31;路径= /; HttpOnly X-Pingback:http://site.com/xmlrpc.php内容类型: text/html; charset = UTF-8位置:http://site.com/ HTTP/1.1 200 OK 日期:2013年5月12日23:34:23 GMT服务器:LiteSpeed连接: 关闭X Powered by:PHP/5.3.23 Set-Cookie: PHPSESSID = 630ed27f107c07d25ee6dbfcb02e8dec;路径= /; HttpOnly X-Pingback:http://site.com/xmlrpc.php Content-Type:text/html; charset = UTF-8
它显示几乎所有的头信息,但没有显示它重定向的位置。我如何获取重定向的页面网址?
这是显示它的302重定向吗? – user198989 2013-05-13 00:06:37
它现在显示:) – 2013-05-13 00:09:55
如果$ statuscode作为数组中的一个字符串返回,那么您可以使用:if($ statusCode [0] == 3) – 2013-05-13 00:53:37