【问题标题】:Sending POST request with multiples values for same key with requests library使用请求库为同一键发送具有多个值的 POST 请求
【发布时间】:2011-12-06 01:34:12
【问题描述】:

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

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的缺点吗?

【问题讨论】:

    标签: python http-post python-requests


    【解决方案1】:

    试试 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"
      ]
    },
    ...
    

    【讨论】:

      【解决方案2】:

      事实证明requests 发送 POST 数据没有问题。 http://httpbin.org 端的一个问题导致表单数据被展平,并且具有相同键的多个值被忽略。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-06-05
        • 1970-01-01
        • 1970-01-01
        • 2017-10-12
        相关资源
        最近更新 更多