Python - Autentificarme en una web

Iniciado por SheKeL_C$, 28 Mayo 2010, 18:08 PM

0 Miembros y 4 Visitantes están viendo este tema.

SheKeL_C$

Me gustaria hacer un programa que descarge algunas imagenes pero para ello tengo que estar logueado en la web..

Como podria loguearme?? creo que es con el modulo httplib.. pero no se

Novlucker

Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

SheKeL_C$

No se seguir a partir de aqui.. es mas, no se si se logea o no  :-[ :-[
login_data = urllib.urlencode({"tuentiemail":usuario,"password":password})
urllib2.urlopen('http://m.tuenti.com/?m=login', login_data)


~ Yoya ~

Si la web usa cookies, puedes hacerle una petición GET enviando en las cabeceras las cookies...
Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.

Novlucker

Revisa puntualmente este ..

http://foro.elhacker.net/scripting/python_enviar_un_dato_a_traves_de_un_input_html-t264641.0.html;msg1292324#msg1292324

.... es casi igual que el tuyo, pero se abre un contenedor para la sesión de usuario, y es que luego del urlopen ya estas logado, ahí puedes hacer lo que gustes :P

Saludos
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

SheKeL_C$

He probado con lo que has dicho..
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor())
urllib2.install_opener(opener)

login_data = urllib.urlencode({"tuentiemail":usuario,"password":password})


respuesta = opener.open('http://m.tuenti.com', login_data)
print(respuesta.read())


He cambiado lo de 'tuentimail' porque ese es el id de la caja de texto del usuario
Como ves al terminar devuelve el codigo fuente, pero me devuelve a la pagina del login (como si no se hubiese podido logear).. yo esperaba que me devolviese a la ventana siguiente de loguearse

Novlucker

Creo que es porque estas "apuntando" a cualquier lado :xD
Prueba con esta :P
:http://m.tuenti.com/?m=login&func=process_login

Saludos
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

SheKeL_C$

Ok... creo que voy por el buen camino, gracias ;)

Pero ahora me ha aparecido algo nuevo...

Las cookies de tu navegador se encuentran desactivadas. Debes activarlas.

Novlucker

#8
Te sale eso? Si para eso sirve justamente el cookieprocessor :-\
Importas correctamente todos los modulos? no te sale ningún error de código?


Modifica esta parte
Código (python) [Seleccionar]
mycookie = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(mycookie))


Saludos
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

SheKeL_C$

#9
Esto es todo lo que tengo..
#!/usr/bin/env python
# -*- coding: cp1252 -*-

import httplib, urllib, urllib2, cookielib

# Configuracion

Servidor = "m.tuenti.com"
usuario = "aaaaaaaaaaaa@gmail.com"
password = "unapalabracualquiera"
dir_downloads = "~/Escritorio"



opener = urllib2.build_opener(urllib2.HTTPCookieProcessor())
urllib2.install_opener(opener)

login_data = urllib.urlencode({"tuentiemail":usuario,"password":password})


respuesta = opener.open('http://m.tuenti.com/?m=login&func=process_login', login_data)
print(respuesta.read())