Une note qui envoie HTTP avec un en-tête d'authentification de base en Python.
J'utilise urllib2, mais selon le manuel, HTTPPasswordMgrWithDefaultRealm et HTTPBasicAuthHandler sont mortellement ennuyeux.
Dans ce cas, vous pouvez écrire vous-même l'en-tête.
Il est facile d'en parler, il suffit de mettre la valeur Basic (valeur de hachage base64 de" username: password ")
dans la clé d'en-tête ʻauthorization`.
Si vous écrivez dans le code
headers["authorization"] = "Basic " + (user + ":" + pass).encode("base64")[:-1]
D'ACCORD. Le dernier [: -1] a le code de saut de ligne supprimé.
Le code entier ressemble à ceci
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())
C'était vraiment facile.
Recommended Posts