J'essaye de faire une requête API POST en utilisant la bibliothèque de requêtes Python. Je passe par un en- Authorization
tête, mais lorsque j'essaie de déboguer, je peux voir que l'en-tête est supprimé. Je ne ai aucune idée de ce qui se passe.
Voici mon code:
access_token = get_access_token()
bearer_token = base64.b64encode(bytes("'Bearer {}'".format(access_token)), 'utf-8')
headers = {'Content-Type': 'application/json', 'Authorization': bearer_token}
data = '{"FirstName" : "Jane", "LastName" : "Smith"}'
response = requests.post('https://myserver.com/endpoint', headers=headers, data=data)
Comme vous pouvez le voir ci - dessus, régler manuellement l' en- Authorization
tête dans les arguments de requête, mais il manque les en- têtes de la demande réelle:
{'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'User-Agent': 'python-requests/2.4.3 CPython/2.7.9 Linux/4.1.19-v7+'}
.
Une information supplémentaire est que si je change la demande POST en demande GET, l'en- Authorization
tête passe normalement!
Pourquoi cette bibliothèque supprimerait-elle l'en-tête des requêtes POST et comment puis-je faire en sorte que cela fonctionne?
Utilisation de la version 2.4.3 de la bibliothèque de demandes et de Python 2.7.9