保持Python Post Request中的参数顺序

时间:2016-10-12 18:51:44

标签: python post request

出于某种原因,我需要使用请求库影响请求后的数据排序。

考虑一下:

data = {
    'param1': "foo",
    'param2': "bar",
}

print requests.post(url, data=data) 

所以param1应该在param2之前的正文中。相应的curl-Request看起来像这样:

curl --data "param1=foo&param2=bar" https://url.com

但是,dict在Python中是无序的,因此实际的排序可能会有所不同。有没有办法告诉请求库,应该以哪种顺序发送参数?也许给urlencoded参数?

1 个答案:

答案 0 :(得分:0)

您可以使用OrderedDict代替:

from collections import OrderedDict

data = OrderedDict(param1="foo", param2="bar")
print requests.post(url, data=data)