How would you go about sending a request with multiples values with the same key?
r = requests.post('http://www.httpbin.org/post', data={1: [2, 3]})
print r.content
{ ... "form": { "1": "3" }, ... }
Edit:
Hmm, very odd. I tried echoing the post data using a simple Flask application and I'm getting:
[('1', u'2'), ('1', u'3')]
Is this just a shortcoming of httpbin.org?
Try the Werkzeug MultiDict
. It's the same structure used for this purpose in Flask applications.
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)
Result:
...
"form": {
"1": [
"2",
"3"
]
},
...
It turns out that requests
was sending the POST data without a problem. It was an issue on the http://httpbin.org end that was causing form data to be flattened, and multiple values with the same key to be ignored.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With