Envoi de la demande de poste avec des valeurs multiples pour la même clé avec la bibliothèque des demandes

StackOverflow https://stackoverflow.com/questions/8394267

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?

Était-ce utile?

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
scroll top