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

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

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

Спасибо

Ответы [ 2 ]

4 голосов
/ 14 апреля 2010

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

расширение короткого URL-адреса до исходного URL-адреса с помощью PHP и CURL & mdash; Хасин Хейдер

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

1 голос
/ 14 апреля 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);
}
...