Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: ferminako en 1 Noviembre 2012, 10:16 am



Título: [Python] Autologin web (interactivo)
Publicado por: ferminako en 1 Noviembre 2012, 10:16 am
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 :(

Código:
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


Título: Re: Autologin web con Python
Publicado por: Eleкtro en 1 Noviembre 2012, 11:01 am
akin 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
  1. import webbrowser
  2. 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
  1. import urllib, urllib2, cookielib, webbrowser
  2.  
  3. username = 'userhere'
  4. password = 'passwordhere'
  5. url = 'http://example.com'
  6. webbrowser.open(url, new=1, autoraise=1)
  7. cj = cookielib.CookieJar()
  8. opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
  9. login_data = urllib.urlencode({'username' : username, 'j_password' : password})
  10. opener.open('http://example.com', login_data)
  11. resp = opener.open('http://example.com/afterlogin')
  12. print resp
  13. 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



Título: Re: Autologin web con Python
Publicado por: ferminako en 1 Noviembre 2012, 11:54 am
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 ;)


Título: Re: [Python] Autologin web (interactivo)
Publicado por: zaikar en 22 Noviembre 2012, 10:41 am
Alguna possibilidad de ver el script en VBS?? Ya que estoy buscando algo parecido.

Gracias


Título: Re: [Python] Autologin web (interactivo)
Publicado por: Eleкtro en 22 Noviembre 2012, 11:23 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.