python - 使用请求库发送具有相同键的多个值的 POST 请求

标签 python http-post python-requests

您将如何使用相同的键发送包含多个值的请求?

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')]

这只是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"
  ]
},
...

关于python - 使用请求库发送具有相同键的多个值的 POST 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8394267/

相关文章:

python - 使用 pandas 一周中每天的平均 Action 次数

android - HttpClient 未从远程站点填写输入框

jquery - 使用 Jquery 传递隐藏字段值

python - 使用 python 定义网络请求超时

Python 3 Requests 或 urllib - 如何始终添加 header ?

python - 删除可能不存在的文件的大多数pythonic方法

python - 如果Python切片复制引用,为什么我不能用它来修改原始列表?

json - 正文中带有 json 的原始 POST 请求

Python-请求 : website won't accept request to log in

单击其他地方时,Python3 Tkinter 弹出菜单不会自动关闭