Как я могу получить заголовок URL-адреса перенаправления 302 в PHP?

Я пытаюсь найти универсальный способ расширить большинство, если не все сокращенные URL-адреса. Я знаю, что короткие URL-адреса, такие как bit.ly, TinyURL, goo.gl и т. д., используют метод перенаправления 302 для перенаправления вас на другой сайт. Как я могу сделать запрос HEAD на сокращенный URL-адрес в php и получить часть заголовка «Расположение»?

Пожалуйста, помогите мне с этим.

Спасибо


person QAH    schedule 13.04.2010    source источник


Ответы (2)


Забудьте все. :) Немного поискав в Интернете, я нашел это:

расширение короткого URL на исходный URL с помощью PHP и CURL Hasin Hayder

Он показывает мне, как именно это сделать.

person QAH    schedule 13.04.2010
comment
Ах, я печатал ответ, который объясняет примерно то же самое. Хорошо, что ты сам это выяснил за это время. Кстати, чтобы сделать запрос настоящим HEAD, добавьте curl_setopt($ch, CURLOPT_NOBODY, true);. - person BalusC; 14.04.2010

Вам нужно использовать 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);
}
person Byron Whitlock    schedule 13.04.2010