如何在PHP中获取302重定向URL的Location头?

时间:2010-04-13 23:17:07

标签: php html header head

我正试图找到一种通用的方法来扩展大部分(如果不是全部)缩短的URL。我知道bit.ly,TinyURL,goo.gl等短网址使用302重定向方法将您重定向到另一个网站。如何在php中对缩短的URL发出HEAD请求并获取标题的“Location”部分?

请帮助我。

由于

2 个答案:

答案 0 :(得分:4)

忘了每个人。 :)通过一些互联网搜索,我发现了这个:

expanding short url to original url using PHP and CURL - 哈辛海德

它向我展示了如何做到这一点。

答案 1 :(得分:1)

您需要使用CURL。您可以设置一个回调函数来触发读取标题。

//register a callback function which will process the headers
 curl_setopt($ch, CURLOPT_HEADERFUNCTION, 'readHeader');


function readHeader($ch, $header)
{ 
    global $location;

    // we have to follow 302s automatically or cookies get lost.
    if (eregi("Location:",$header) )
    {
        $location= substr($header,strlen("Location: "));
    }

    return strlen($header);
}