Ein Hinweis, der HTTP mit einem Standardauthentifizierungsheader in Python sendet.
Ich benutze urllib2, aber laut Handbuch sind HTTPPasswordMgrWithDefaultRealm und HTTPBasicAuthHandler tödlich nervig.
In einem solchen Fall können Sie den Header selbst schreiben.
Es ist einfach darüber zu sprechen, geben Sie einfach den Wert "Basic" (base64-Hashwert von "Benutzername: Passwort") "in den Header-Schlüssel" authorisation "ein.
Wenn Sie in Code schreiben
headers["authorization"] = "Basic " + (user + ":" + pass).encode("base64")[:-1]
OK. Beim letzten [: -1] wurde der Zeilenvorschubcode entfernt.
Der ganze Code sieht so aus
import urllib2
url = "http://sample.com/index.html"
user = "XXXX"
password = "XXXX"
headers ={}
headers["authorization"] = "Basic " + (user + ":" + password).encode("base64")[:-1]
req = urllib2.Request(url=url, headers=headers)
res = urllib2.urlopen(req)
print(res.read())
Es war wirklich einfach.
Recommended Posts