您将如何使用相同的键发送具有多个值的请求?
r = requests.post('http://www.httpbin.org/post', data={1: [2, 3]})
print r.content
{ ... “形式”: { “1”:“3” }, ... }
编辑:
嗯,很奇怪。我尝试使用一个简单的 Flask 应用程序回显发布数据,我得到:
[('1', u'2'), ('1', u'3')]
这只是httpbin.org的一个缺点吗?
您将如何使用相同的键发送具有多个值的请求?
r = requests.post('http://www.httpbin.org/post', data={1: [2, 3]})
print r.content
{ ... “形式”: { “1”:“3” }, ... }
编辑:
嗯,很奇怪。我尝试使用一个简单的 Flask 应用程序回显发布数据,我得到:
[('1', u'2'), ('1', u'3')]
这只是httpbin.org的一个缺点吗?
试试 Werkzeug MultiDict
。它与 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)
结果:
...
"form": {
"1": [
"2",
"3"
]
},
...
事实证明,requests
发送 POST 数据没有问题。这是http://httpbin.org端的一个问题,导致表单数据被展平,并且具有相同键的多个值被忽略。