如何在重定向时查找结束URL

时间:2011-10-13 04:04:14

标签: php redirect file-get-contents

  

可能重复:
  How to get the real URL after file_get_contents if redirection happens?

我正在使用file_get_contents('http://someurl.com/1893849')来获取网址的内容,但网址会被重定向。例如,/1893849最终在/some-url-path。除了获取文件内容之外,还有办法知道结束路径吗?

1 个答案:

答案 0 :(得分:1)

Use curl example :

curl_setopt($init, CURLOPT_FOLLOWLOCATION, 1);

如果您需要知道重定向的地址

curl_setopt($init, CURLOPT_HEADER, 1);
curl_setopt($init, CURLOPT_FOLLOWLOCATION, 0);
curl_setopt($init, CURLOPT_HTTPHEADER, array('Expect:') );

if ( strstr($content, 'Moved Temporarily') or  
strstr($content, 'Moved Permanently') or strstr($content, '302 Found')   ) :

if ( preg_match('@Location: (.*?)\n@', $content, $red) ) :

print_r($red);

endif;