Tut urllib2 in Python 2.6.1 Unterstützung-proxy über https
Tut urllib2 in Python 2.6.1 Unterstützung-proxy über https?
Habe ich Folgendes gefunden bei http://www.voidspace.org.uk/python/articles/urllib2.shtml:
HINWEIS
Derzeit urllib2 nicht unterstützt
der Abruf von https-Standorte durch einen
proxy. Dies kann ein problem sein.
Ich versuche zu automatisieren Anmeldung in der web site und dem Download-Dokument, ich habe gültige Benutzername/Passwort.
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)
Habe ich Sie arbeiten nach ähnlichen Seiten, aber nicht mit HTTPS und ich vermute, dass es nicht durch proxy - es wird nur bleiben in der gleichen Weise, wie wenn ich nicht angeben, proxy. Ich muss gehen über proxy.
Brauche ich, um zu authentifizieren, aber nicht die die Standardauthentifizierung verwenden, wird urllib2 herausfinden, wenn Authentifizierung über https-Seite (ich liefern Benutzername/Passwort zur Website über die url)?
BEARBEITEN:
NÖ, getestet habe ich mit
proxies = {
"http" : "http://%(host)s:%(port)s" % proxy_info,
"https" : "https://%(host)s:%(port)s" % proxy_info
}
proxy_handler = urllib2.ProxyHandler(proxies)
Und ich bekomme Fehler:
urllib2.URLError: urlopen error
[Errno 8] _ssl.c:480: EOF aufgetreten
Verstoß gegen das Protokoll
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich bin mir nicht sicher, Michael Foord Artikel, den Sie zitieren, wird aktualisiert, um Python 2.6.1-warum nicht give it a try? Anstatt zu sagen, ProxyHandler, dass der proxy nur für http, wie du tust jetzt, anmelden https zu verwenden (natürlich sollten Sie formatieren Sie ihn in eine variable nur einmal vor, Sie rufen ProxyHandler und einfach immer wieder verwenden, dass die variable in der dict):, die möglicherweise oder möglicherweise nicht arbeiten, aber Sie sind auch nicht versuchen, und das ist sicher nicht um zu arbeiten!-)
Feste in Python 2.6.3 und mehrere andere Filialen:
http://www.python.org/download/releases/2.6.3/NEWS.txt
Ausgabe #1424152: Fix für httplib, urllib2, die SSL unterstützen, während der Arbeit durch
proxy. Original patch von Christopher Li, änderungen von Senthil Kumaran.
Incase jemand dieses Problem in der Zukunft möchte ich darauf hinweisen, dass es unterstützt https-proxying nun, stellen Sie sicher, dass der proxy unterstützt auch er oder Sie Gefahr läuft in einen Fehler, stellt die python-Bibliothek in eine Endlosschleife (dies ist mir passiert).
Sehen den unittest in der python-source, die Prüfung von https-proxying-support-für weitere Informationen:
http://svn.python.org/view/python/branches/release26-maint/Lib/test/test_urllib2.py?r1=74203&r2=74202&pathrev=74203