¿Tiene urllib2 en Python 2.6.1 proxy de soporte a través de https?¿Urllib2 en el proxy de soporte de Python 2.6.1 a través de https
que he encontrado lo siguiente en http://www.voidspace.org.uk/python/articles/urllib2.shtml:
NOTE
Currently urllib2 does not support fetching of https locations through a proxy. This can be a problem.
estoy tratando de automatizar inicio de sesión en el sitio web y la descarga de documentos, tengo válida nombre de usuario/contraseña.
proxy_info = {
'host':"axxx", # commented out the real data
'port':"1234" # commented out the real data
}
proxy_handler = urllib2.ProxyHandler(
{"http" : "http://%(host)s:%(port)s" % proxy_info})
opener = urllib2.build_opener(proxy_handler,
urllib2.HTTPHandler(debuglevel=1),urllib2.HTTPCookieProcessor())
urllib2.install_opener(opener)
fullurl = 'https://correct.url.to.login.page.com/user=a&pswd=b' # example
req1 = urllib2.Request(url=fullurl, headers=headers)
response = urllib2.urlopen(req1)
que he tenido que trabajar para páginas similares, pero no a través de HTTPS y sospecho que no consigue a través de proxy - sólo se queda atascado en la misma forma que cuando no se hayan indicado proxy. Necesito salir a través del proxy.
Necesito autenticar pero no usar la autenticación básica, ¿urllib2 descubrirá la autenticación al pasar por el sitio https (proporciono el nombre de usuario/contraseña al sitio a través de la URL)?
EDIT: No, he probado con
proxies = {
"http" : "http://%(host)s:%(port)s" % proxy_info,
"https" : "https://%(host)s:%(port)s" % proxy_info
}
proxy_handler = urllib2.ProxyHandler(proxies)
Y consigo error:
urllib2.URLError: urlopen error [Errno 8] _ssl.c:480: EOF occurred in violation of protocol
Aaah, lo tengo :) me dejó probar (por cierto que he descubierto lo que necesitaba con curl pero todavía sería agradable tener que correr en python) – stefanB
añadiendo Desafortunadamente el proxy como la clave 'https' en el dict que pase a ProxyHandler no se solucionará el problema ya que AFAIK no admite el método CONNECT HTTP. Usar PyCurl es la solución más fácil, pero para distribuir código, la falta de soporte de Windows en PyCurl (o al menos la facilidad de instalación) puede ser un gran obstáculo. – Tom