Como posso obter um cabeçalho de localização do URL de redirecionamento 302 no PHP?
Pergunta
Estou tentando encontrar uma maneira universal de expandir a maioria, se não todos os URLs reduzidos por aí. Conheço URLs curtos como Bit.ly, Tinyurl, Goo.gl, etc. Use o método de redirecionamento 302 para redirecioná -lo para outro site. Como posso fazer uma solicitação de cabeça para o URL reduzido no PHP e obter a parte do "local" do cabeçalho?
Por favor me ajude com isso.
Obrigado
Solução
Esqueça a todos. :) Com algumas pesquisas na Internet, achei isso:
Expandindo URL curto para URL original usando PHP e CURL - Hasin Hayder
Isso me mostra exatamente como fazer isso.
Outras dicas
Você precisa usar o CURL. Você pode definir uma função de retorno de chamada que dispara para ler cabeçalhos.
//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);
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow