Conexión HTTPS de Python

Estoy intentando verificar que el destino expone un servicio web https. Tengo un código para conectarme a través de HTTP, pero no estoy seguro de cómo conectarme a través de HTTPS. Leí que usa SSL pero también leí que no admitía errores de certificado. El código que tengo es de los documentos de python:

import httplib
conn = httplib.HTTPConnection("www.python.org")
conn.request("GET", "/index.html")
r1 = conn.getresponse()
print r1.status, r1.reason

¿Alguien sabe cómo conectarse a HTTPS?

Ya probé la HTTPSConenction pero responde con un código de error que afirma que httplib no tiene el atributo HTTPSConnection. Tampoco tengo socket.ssl ​​disponible.

He instalado Python 2.6.4 y no creo que tenga soporte SSL compilado en él. ¿Hay alguna manera de integrar este suppot en la nueva Python sin tener que volver a instalarlo?

He instalado OpenSSL y pyOpenSsl y probé el siguiente código de una de las respuestas:

import urllib2
from OpenSSL import SSL
try: 
    response = urllib2.urlopen('https://example.com')  
    print 'response headers: "%s"' % response.info() 
except IOError, e: 
    if hasattr(e, 'code'): # HTTPError 
        print 'http error code: ', e.code 
    elif hasattr(e, 'reason'): # URLError 
        print "can't connect, reason: ", e.reason 
    else: 
        raise

Tengo un error

    Traceback (most recent call last):
  File "<stdin>", line 2, in <module>
  File "/home/build/workspace/downloads/Python-2.6.4/Lib/urllib.py", line 87, in urlopen
    return opener.open(url)
  File "/home/build/workspace/downloads/Python-2.6.4/Lib/urllib.py", line 203, in open
    return self.open_unknown(fullurl, data)
  File "/home/build/workspace/downloads/Python-2.6.4/Lib/urllib.py", line 215, in open_unknown
    raise IOError, ('url error', 'unknown url type', type)
IOError: [Errno url error] unknown url type: 'https'

¿Alguien sabe cómo hacer que esto funcione?

-- UPDATE

Descubrí cuál era el problema, la versión de Python que estaba usando no tenía soporte para SSL. He encontrado esta solución actualmente en:http://www.webtop.com.au/compiling-python-with-ssl-support.

El código ahora funcionará después de esta solución que es muy buena. Cuando importo ssl y HTTPSConnection, sé que no aparece un error.

Gracias por toda la ayuda.

Respuestas a la pregunta(8)

Su respuesta a la pregunta