Pregunta

Vi a alguien hacer una pregunta sobre cómo detectar si una URL redirige desde groovy y perl pero no pudo encontrar nada en PHP.

¿Alguien sabe de algún lugar donde pueda encontrar ese código que hace esto?

¿Fue útil?

Solución 2

En realidad, encontré que esto funciona mejor:

    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;
    }

Otros consejos

$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
}

Recuerde que ninguna de las respuestas que generalmente se dan para esta pregunta tiene en cuenta la redirección causada por JavaScript codificado dentro del documento devuelto (o creo que hay una etiqueta de meta-actualización en el HTML). Así que es posible que pase lo que pase extrañará ciertos tipos de "redirecciones" al probar usando este tipo de código.

Desafortunadamente, la única forma de evitar esto es hacer que un navegador web real acceda a la página web y que se modifique el navegador web de tal manera que informe las redirecciones de javascript y meta-actualización.

¡Salud!

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top