urllib2 in Python 2.6.1 proxy di supporto tramite https?urllib2 in Python 2.6.1 supporta il proxy tramite https
ho trovato quanto segue al 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.
sto cercando di automatizzare login per sito web e il download di documenti, ho valida username/password.
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)
L'ho avuto a lavorare per pagine simili, ma non tramite HTTPS e ho il sospetto che non ottiene mediante delega - semplicemente si blocca nello stesso modo come quando non ha specificato proxy. Devo uscire per procura.
Ho bisogno di autenticarsi ma non usare l'autenticazione di base, urllib2 capiremo l'autenticazione quando si passa attraverso il sito https (fornisco username/password al sito via url)?
EDIT: No, ho testato con
proxies = {
"http" : "http://%(host)s:%(port)s" % proxy_info,
"https" : "https://%(host)s:%(port)s" % proxy_info
}
proxy_handler = urllib2.ProxyHandler(proxies)
e ottengo l'errore:
urllib2.URLError: urlopen error [Errno 8] _ssl.c:480: EOF occurred in violation of protocol
Aaah, capito :) fammi provare (btw ho capito quello che mi serviva con l'arricciatura ma comunque sarebbe bello avere in esecuzione in python) – stefanB
Purtroppo l'aggiunta del proxy come il tasto 'https' nel dettato che passi a ProxyHandler non risolverà il problema come AFAIK non c'è supporto per il metodo HTTP CONNECT. L'utilizzo di PyCurl è la soluzione più semplice, ma per la distribuzione del codice la mancanza del supporto di Windows in PyCurl (o almeno la facilità di installazione) può rappresentare un grosso ostacolo. – Tom