Auparavant, j'avais utilisé le module httplib
pour ajouter un en-tête à la requête. Maintenant, j'essaie la même chose avec le module requests
.
Voici le python que j'utilise: http://pypi.python.org/pypi/requests
Comment puis-je ajouter un en-tête à la request.post
et request.get
_ dis que je dois ajouter foobar
clé dans chaque requête de l'en-tête.
De http://docs.python-requests.org/en/latest/user/quickstart/
url = 'https://api.github.com/some/endpoint'
payload = {'some': 'data'}
headers = {'content-type': 'application/json'}
r = requests.post(url, data=json.dumps(payload), headers=headers)
Vous avez juste besoin de créer un dict avec vos en-têtes (clé: paires de valeurs où la clé est le nom de l'en-tête et la valeur est, ainsi, la valeur de la paire) et de transmettre ce dict au paramètre d'en-tête sur le .get
ou .post
méthode.
Donc, plus spécifique à votre question:
headers = {'foobar': 'raboof'}
requests.get('http://himom.com', headers=headers)
Vous pouvez également faire cela pour définir un en-tête pour tous les futurs objets pour l'objet Session, où x-test sera utilisé pour tous les appels s.get ():
s = requests.Session()
s.auth = ('user', 'pass')
s.headers.update({'x-test': 'true'})
# both 'x-test' and 'x-test2' are sent
s.get('http://httpbin.org/headers', headers={'x-test2': 'true'})
à partir de: http://docs.python-requests.org/en/latest/user/advanced/#session-objects