Envoi de la demande de poste avec des valeurs multiples pour la même clé avec la bibliothèque des demandes
-
28-10-2019 - |
Question
Comment allez-vous envoyer une demande avec des valeurs multiples avec la même clé?
r = requests.post('http://www.httpbin.org/post', data={1: [2, 3]})
print r.content
{ ... "form": { "1": "3" }, ... }
Éditer:
Hmm, très étrange. J'ai essayé de faire écho aux données de la publication à l'aide d'une application FLASK simple et j'obtiens:
[('1', u'2'), ('1', u'3')]
Est-ce juste une lacune de httpbin.org?
La solution
Il se trouve que requests
envoyait les données de poste sans problème. C'était un problème sur le http://httpbin.org La fin qui entraînait l'aplatissement des données de forme et plusieurs valeurs avec la même clé à ignorer.
Autres conseils
Essayez le werkzug MultiDict
. C'est la même structure utilisée à cet effet dans les applications Flask.
import requests
from werkzeug.datastructures import MultiDict
data = MultiDict([('1', '2'), ('1', '3')])
r = requests.post('http://www.httpbin.org/post', data=data)
print(r.content)
Résultat:
...
"form": {
"1": [
"2",
"3"
]
},
...
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow