Warum bekomme ich immer HTTP 407: Proxy-Authentifizierung Erforderlich?
Ich bin mit dem folgenden -
import urllib.request as req
proxy = req.ProxyHandler({'http': r'http://USER:PASS@PROXY:PORT'})
auth = req.HTTPBasicAuthHandler()
opener = req.build_opener(proxy, auth, req.HTTPHandler)
req.install_opener(opener)
conn = req.urlopen('http://google.com')
return_str = conn.read()
Hier ist mein traceback -
Traceback (most recent call last):
File ".\proxy.py", line 8, in <module>
conn = req.urlopen('http://google.com')
File "D:\Python34\lib\urllib\request.py", line 153, in urlopen
return opener.open(url, data, timeout)
File "D:\Python34\lib\urllib\request.py", line 461, in open
response = meth(req, response)
File "D:\Python34\lib\urllib\request.py", line 571, in http_response
'http', request, response, code, msg, hdrs)
File "D:\Python34\lib\urllib\request.py", line 499, in error
return self._call_chain(*args)
File "D:\Python34\lib\urllib\request.py", line 433, in _call_chain
result = func(*args)
File "D:\Python34\lib\urllib\request.py", line 579, in http_error_default
raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 407: Proxy Authentication Required
Trotz, wie einfach diese sein sollte, ich bin immer 407: Proxy Authentication Required
. Ich habe Tonnen von Fragen auf, SO dass über dieses problem, aber nicht finden können, eine Antwort, die funktioniert. Es scheint fast, als ob urllib
ist nicht vorbei mein Anmeldeinformationen. Ich kann ein falsche Passwort und es nicht wieder meinen Spruch, dass die Anmeldeinformationen ungültig sind.
Was bin ich?
InformationsquelleAutor self. | 2014-09-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
Meisten wahrscheinlich, Ihre proxy nicht akzeptieren username und Passwort im URL eingebettet. Und
ProxyHandler
nicht automatisch der Streifen Sie aus der URL, und verwenden Sie für die Authentifizierung. So, Sie benötigen, zu betrachten, welche Art der Authentifizierung, der proxy will und verwenden Sie eineProxyBasicAuthHandler
oderProxyDigestAuthHandler
usw.Wenn man sich die Beispiele, den 8. zeigt, wie dies zu tun:
realm
zuNone
und alles was ich bekomme ist zurückAbstractBasicAuthHandler does not support the following scheme: 'NEGOTIATE'
.Nun, Sie brauchen, um herauszufinden, wie sich der proxy will Sie auth, bevor Sie den code schreiben. Sie können dies tun, durch Versuch und Irrtum, suchen Sie in Ihrem browser die config und das Verständnis, was es bedeutet, indem Sie den Datenverkehr zwischen Ihrem browser und Ihrem proxy, suchen Sie in der proxy-Konfiguration... aber irgendwie haben Sie es zu tun.
InformationsquelleAutor abarnert