Pergunta

Eu vi alguém fazer uma pergunta sobre como detectar se um URL redirecionamentos de Groovy e perl, mas não conseguiu encontrar nada sobre PHP.

Alguém sabe de algum lugar que eu poderia encontrar esse código que faz isso?

Foi útil?

Solução 2

Na verdade, eu achei isso funciona melhor:

    function GetURL($URL)
    {
            $ch = curl_init($URL);

            curl_setopt($ch,CURLOPT_FOLLOWLOCATION,true);


            curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);

            curl_exec($ch);

            $code = curl_getinfo($ch, CURLINFO_EFFECTIVE_URL);

            curl_close($ch);

            return $code;
    }

Outras dicas

$ch = curl_init('http://www.yahoo.com/');
curl_exec($ch);
$code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
if (($code == 301) || ($code == 302)) {
  //This was a redirect
}

Lembre-se que nenhuma das respostas que normalmente são dadas para esta pergunta tomada em consideração redirecionamento causada por javascript codificado dentro do documento retornado (ou eu acho uma meta tag-refresh no HTML.) Portanto, é possível que não importa o que você vai perder alguns tipos de "redirecionamento" ao testar usando este tipo de código.

Infelizmente, a única maneira de contornar isso é ter um navegador web real atingiu a página da web, e ter o navegador web modificado de tal maneira que ele relata javascript e meta-refresh redirecionamentos.

Felicidades!

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top