[Python-es] PyCurl, libUrl ::, Logueo y autenticación en sitio web y navegar por diferentes paginas.

Israel Alberto Roldan Vega israel.alberto.rv en gmail.com
Jue Dic 22 04:33:18 CET 2011


Que tal,

Estoy intentando Loguearme a un sitio web (un sitio mio) por mdio de
pycurl, pero nada.

Cuando lo intento hacer en la salida me dice "Usted no está autorizado
para visitar esta página."
Ya he intentado varias formas y nada.

Lo que necesito son 2 cosas:
1. La mas importante lograr hacer el login en el sitio web atraves de pycurl.
2. Si logro loguearme, quiero navegar por las paginas nosotros,
contacto, etc., pero logueado, osea sin salirme de mi sesión.

Como logro esto ya que he estado en google mucho tiempo y no logro
encontrar nada de documentación y la documentación que hay, ya lo
probé y nada.
Sin embargo cree un php para loguearme y si funciona el script, esto
se comprueba si se descomenta la linea "url =
'http://propuesta.rovisoft.net/login.php'"

http://propuesta.rovisoft.net/sinredes/user
http://propuesta.rovisoft.net/login.php


import pycurl
import urllib
import StringIO


web_page = StringIO.StringIO()
dir_base = '/home/israel/misObras/Python/'
url = 'http://propuesta.rovisoft.net/sinredes/user'
#url = 'http://propuesta.rovisoft.net/login.php'
post_vars = urllib.urlencode( {
'name': 'hola',
'pass': 'holahola',
'form_id': 'user_login',
'form_build_id' : 'form-iN6ViGbE2_tW9bIWcRtxctc4HjIETqAOkxDuWaRjB_c',
} )


c = pycurl.Curl()
c.setopt( pycurl.URL, url )
c.setopt( pycurl.POSTFIELDS, post_vars )
c.setopt( pycurl.FOLLOWLOCATION, 1 )
c.setopt( pycurl.MAXREDIRS, 20 )
c.setopt( pycurl.WRITEFUNCTION, web_page.write )
c.perform()
c.close()


f = open( dir_base + 'salida2.html', 'wb' )
web_page_str = web_page.getvalue().decode( 'utf-8' )
if web_page_str.strip():
f.write( web_page_str.encode( 'utf-8' ) )
else:
f.write( "No se encontro nada." )
f.close()


print( "Finalizo con Exito la Ejecucion." )





Saludos,
Israel Alberto RV


Más información sobre la lista de distribución Python-es