[Python] Autologin web (interactivo)

Iniciado por ferminako, 1 Noviembre 2012, 10:16 AM

0 Miembros y 1 Visitante están viendo este tema.

ferminako

Buenas a todos, solucione este problema con VBS y tengo un pekeño ejemplo de nuestro amigo Elektro quien con muy buena intención me proporciono un compilado y el código. Mil Gracias!!!

Pero  me ha pikado el gusanillo y quiero desarrollarlo tb en python, he estado leyendo y  este codigo es lo uqe  he obtenido pero no me es funcional , alguien sabe python y puede echarme un cable? el tema es loguearse con los datos y una veaz dentro  mandarle a  una direccion o hacer click en un link , ambas em valen ... ademas akin no consigo q se abra el brwoser :(

import urllib2,urllib
o = urllib2.build_opener( urllib2.HTTPCookieProcessor() )
urllib2.install_opener(o)
id='admin'
pw='clave'
p=urllib.urlencode({"usuario" : id, "clave" : pw})
f=o.open("http://web.es/privado/", p)
data=f.read()
f.close()


Gracias

Eleкtro

#1
Cita de: ferminako en  1 Noviembre 2012, 10:16 AMakin no consigo q se abra el brwoser :(
Claro, es que urllib2 no renderiza el proceso en el navegador, sinó "en segundo plano".

Si quieres que se renderize, vamos, que se ""virtualize"" interactivamente el proceso, creo que puedes combinar el módulo "webbrowser" junto a "urllib2":

Código (python) [Seleccionar]
import webbrowser
webbrowser.open('http://foro.elhacker.net')


Pero no me hagas mucho caso, no domino urllib2 en absoluto.

También puedes usar el módulo Mechanize: http://wwwsearch.sourceforge.net/mechanize/

Solo quería aclararte ese punto.

un saludo!






EDITO: Lo que te decía de webbrowser:

Citar
Código (python) [Seleccionar]
import urllib, urllib2, cookielib, webbrowser

username = 'userhere'
password = 'passwordhere'
url = 'http://example.com'
webbrowser.open(url, new=1, autoraise=1)
cj = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
login_data = urllib.urlencode({'username' : username, 'j_password' : password})
opener.open('http://example.com', login_data)
resp = opener.open('http://example.com/afterlogin')
print resp
webbrowser.open(url, new=1, autoraise=1)

http://stackoverflow.com/questions/663490/python-how-do-you-login-to-a-page-and-view-the-resulting-page-in-a-browser

Aunque bueno, ese ejemplo usa cookies xD









ferminako

#2
Acabo de  llegar de dar una vueltita en moto y veo una respuesta, gracias de nuevo Elektro voy a echarle un vistazo

Ya me estoy leyendo un manual de Python , habrá que aprender un nuevo lenguaje jejeje

Edito:
Parece que Mechanize es la respuesta voy a probarlo ;)

zaikar

Alguna possibilidad de ver el script en VBS?? Ya que estoy buscando algo parecido.

Gracias

Eleкtro

Cita de: zaikar en 22 Noviembre 2012, 10:41 AM
Alguna possibilidad de ver el script en VBS?? Ya que estoy buscando algo parecido.

Gracias

No, en VBS solo vas a poder manejar InternetExplorer (O eso tengo entendido), lo que necesitas es usar Chrome, esfuerzate un poco en aprender un poco el lenguaje que necesites y lo conseguirás, en el otro enlace que te ofrecí de Ruby hice hasta un archivo de configuración para que solo tengas que escribir la URL y las identidades de los botones, léete las páginas, el resto sería modificar el uso de la gema webdriver por la de chrome-watir.

Saludos.