jueves, 22 de abril de 2010

Redirigir a distintas URLs en función del navegador usado.

A veces cuando entras con el navegador en una pagina web obtienes el resultado esperado, pero si lo haces con telnet o con un web spider te manda a otra web distinta. Esto es debido a que se ha configurado el servidor para permitir el acceso a personas y no a programas que descarguen la web completa.

El funcionamiento es sencillo. En Apache por ejemplo se utiliza el modulo rewrite para comprobar las cabeceras enviadas por el cliente. Si se trata de un navegador se deja pasar y sino se redirige a otra web.

En el manual de Apache se puede ver como utilizarlo: URL Rewriting Guide - Advanced topics

Pues si es fácil hacerlo, es más fácil saltárselo. Si lo que comprueba es la cabecera http User-Agent, lo único que hay que hacer es añadirla en el caso del telnet o decirle al web spider que use otra distinta.

Cuando usamos el telnet tendriamos que hacer lo siguiente:

telnet www.google.es 80
> GET / HTTP/1.1
> Host: www.google.es
> User-Agent: Mozilla/5.0 (X11; U; Linux i686; es-ES; rv:1.9.1.9) Gecko/20100401 Ubuntu/9.10 (karmic) Firefox/3.5.9
>

Y cuando usamos wget:

wget --header='Host: www.google.es' --header='User-Agent: Mozilla/5.0 (X11; U; Linux i686; es-ES; rv:1.9.1.9) Gecko/20100401 Ubuntu/9.10 (karmic) Firefox/3.5.9' www.google.es

No hay comentarios:

Publicar un comentario