Página 1 de 1

Cloudflare

Publicado: 10 Ene 2017, 11:00
por tormund
Hola, he visto en otro hilo viewtopic.php?f=22&t=8544#p38044 que Cmos hacía referencia a una librería (httptools.py) en Phyton que usáis para saltaros Cloudflare. He estado leyendo el código pero con mis escasos/nulos conocimientos de phyton no consigo entenderlo. Os agradecería mucho que me explicarais como lo hacéis para poder pasarlo a Java.

Saludos.

Re: Cloudfare

Publicado: 31 Ene 2017, 13:41
por tormund
He estado trabajando en un bypass de Cloudflare en Java y ya he conseguido obtener la cookie cf_clearance obteniendo la respuesta al challenge-form, sin embargo sigo sin obtener el código HTML que debería y la respuesta de mi petición sigue siendo un 503. Sospecho que no estoy enviando bien las cookies pero tras probar a enviarlas de varias formas he agotado las ideas.

Una vez que obtengo la cookie cf_clearance la uno a __cfduid y las añado a la cabecera "Set-Cookie" para realizar la última petición donde debería obtener un código de respuesta 200, sin embargo sigo recibiendo un 503. Por lo que he estado leyendo estas dos cookies deberían ser suficientes para que Cloudflare me deje pasar y obtener el HTML que quiero scrapear pero debo estar haciendo algo mal.

Lo que más me desconcierta es que he analizado la petición desde el navegador con Firebug y estoy enviando las mismas cabeceras que Firefox, sin embargo no obtengo la respuesta esperada. ¿Es posible que las cookies las tenga que enviar en una cabera distinta a "Set-Cookies"? Estoy seguro que el problema está relacionado con ellas pero no doy con la tecla.

Agradecería que me pudierais arrojar un poco de luz.

Saludos.

Re: Cloudflare

Publicado: 31 Ene 2017, 13:54
por Cmos
tormund escribió:¿Es posible que las cookies las tenga que enviar en una cabera distinta a "Set-Cookies"? Estoy seguro que el problema está relacionado con ellas pero no doy con la tecla.
Exactamente, Set-Cookie es el header de respuesta que recibes del servidor, es decir, ese header lo devuelve la web para decirle al navegador que almacene esas cookies, pero no sirve para enviar la cookie que es lo que necesitas hacer. Tendrías que cambiar el header por "Cookie" y eso sí, asegurarte que todas las peticiones que le hagas a esa web sean con el mismo user-agent, porque la cf_clearance y __cfduid cambian según el user-agent usado ;)

Re: Cloudflare

Publicado: 31 Ene 2017, 14:08
por tormund
En cuanto llegue a casa lo pruebo pero estoy seguro de que ese el problema, que estoy enviando las dos cookies en el header "Set-Cookie" en lugar de "Cookie". El user-agent lo tengo en una constante y siempre mando el mismo.

Muchas gracias crack.