Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: Ricardo95 en 9 Abril 2011, 18:37 pm



Título: Logearse en una web con python [ayuda]
Publicado por: Ricardo95 en 9 Abril 2011, 18:37 pm
Hola, llevo tdo el día intentando logearme en una web con python para hacer un par de pruevas. La web es diosdelared.com.
El login lo hago desde diosdelared.com/home y para eso tuve que poner la cabecera referer, sino me saltaba el filtro antiCRSF.

El post que se realiza al hacer el login es:

nick=MiNick&password=contraseña&logear=logear

Mi código es el siguiente pero no funciona sigue estando en la web del login, y no muestra ningun tipo de error. Despues tendria que setear la cookie etc..  A ver si me ayudan a logearme

Código
  1.  
  2. import urllib,urllib2
  3.  
  4. params = urllib.urlencode({"nick": "Nick", "password": "pass", "logear": "logear"})  
  5.  
  6. referer="http://www.diosdelared.com/"
  7. h={"Referer": referer}
  8.  
  9.  
  10.  
  11. req= urllib2.Request('http://diosdelared.com/home/login.php',params, headers=h)
  12. f=urllib2.urlopen(req)
  13.  
  14. print f.read()


Título: Re: Logearse en una web con python [ayuda]
Publicado por: Ricardo95 en 9 Abril 2011, 18:38 pm
Lol no me esperaba eso del spam. A ver si me pueden ayudar sin decir la web, si no es posible la podria poner?


Título: Re: Logearse en una web con python [ayuda]
Publicado por: Novlucker en 9 Abril 2011, 19:55 pm
He revisado la página y los parametros estan bien :-\ , intenta utilizando un opener o seteando alguna otra header en el POST, como ser el navegador
http://foro.elhacker.net/scripting/python_enviar_un_dato_a_traves_de_un_input_html-t264641.0.html

Sino podrías probar con alguna librería como Twisted :D

Saludos


Título: Re: Logearse en una web con python [ayuda]
Publicado por: Ricardo95 en 9 Abril 2011, 20:37 pm
Novluker muchas gracias, ya he conseguido hacerlo funcionar


Título: Re: Logearse en una web con python [ayuda]
Publicado por: Novlucker en 9 Abril 2011, 20:58 pm
Cuál era el problema? :huh: