【发布时间】:2013-06-06 06:11:44
【问题描述】:
我目前正在使用 cURL 尝试从网站抓取工具的重定向中获取 URL。我只需要网站上的网址。在过去的几天里,我研究了 stackoverflow 和其他网站,但没有成功。我目前使用的代码来自这个网站:
$url = "http://www.someredirect.com";
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_USERAGENT,'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);
curl_setopt($ch, CURLOPT_NOBODY, true);
$response = curl_exec($ch);
preg_match_all('/^Location:(.*)$/mi', $response, $matches);
curl_close($ch);
echo !empty($matches[1]) ? trim($matches[1][0]) : 'No redirect found';
任何帮助将不胜感激!
【问题讨论】:
-
preg_match_all('/^Location:(.*)$/mi', $response, $matches);,例如,您是否要匹配header('Location:http://google.com');? :// -
是的。尝试从标头解析位置,但标头中未返回位置标记。
-
在这种情况下,您的代码对我来说可以正常工作。