我正在使用python请求。我不希望params遵循降序。
例如。
In []: import requests
payload = {'key2': 'value1', 'key3': ['value', 'value3']}
r = requests.get("http://httpbin.org/get", params=payload)
print r.url
out []: http://httpbin.org/get?key3=value&key3=value3&key2=value1
我想要的是http://httpbin.org/get?key2=value1&key3=value&key3=value3
。
答案 0 :(得分:1)
尽管params顺序没有区别,但您始终可以使用OrderedDict
,如下所示:
from collections import OrderedDict
pl = OrderedDict()
pl['key2'] = 'value1'
pl['key3'] = ['value', 'value3']
r = requests.get("http://httpbin.org/get", params=pl)
print r.url # http://httpbin.org/get?key2=value1&key3=value&key3=value3
请注意,你应该在1>} 之后添加项目,因为构造函数在初始化期间将params视为常规字典,不保留键顺序。