Conectar a un SSL

Gabriel Genellina gagsl-py2 en yahoo.com.ar
Jue Nov 15 05:09:26 CET 2007


En Wed, 14 Nov 2007 18:54:16 -0300, Mario Lacunza <mlacunza en gmail.com>  
escribió:

> una consulta, con librerias debo tratar para poder conectarme a un server
> https:// (SSL) al cual se le pasa un User +Pass para luego ingresar a un  
> dir
> y bajar unos archivos.

Hay dos cosas separadas: el soporte de SSL, y la autentificacion del  
usuario. Para lo primero, si Python soporta SSL (`from socket import ssl`  
funciona), entonces urllib2.urlopen('https://...') esta habilitado  
automaticamente.

Para el usuario+password, depende de cómo lo pida el servidor. Si usa  
Basic HTTP Authentication (te das cuenta cuando, al intentar entrar con el  
browser, aparece una ventana pop-up donde te pide los datos), sólo es  
cuestion de instalar el handler dentro de urllib2 y pasarle los datos. Un  
ejemplo, basado en la documentacion del modulo  
<http://docs.python.org/lib/urllib2-examples.html>

import urllib2
auth_handler = urllib2.HTTPBasicAuthHandler(
   urllib2.HTTPPasswordMgrWithDefaultRealm())
auth_handler.add_password(None, 'www.example.com', usuario, password)
opener = urllib2.build_opener(auth_handler)
urllib2.install_opener(opener)
f = urllib2.urlopen('https://www.example.com/cualquier/cosa.html')
datos = f.read()
f.close()

Si usara otro tipo de autenticacion (tal vez un formulario + cookies)  
sería parecido, pero hay que verlo caso por caso.

-- 
Gabriel Genellina

------------ próxima parte ------------
_______________________________________________
Lista de correo Python-es 
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes


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