gpt4 book ai didi

python-requests:命令获取参数

转载 作者:IT老高 更新时间:2023-10-28 20:59:28 24 4
gpt4 key购买 nike

我正在使用 python requests 为私有(private) HTTP-API 实现客户端库. API(我无法控制)期望参数按特定顺序排列,但 python-requests 不将排序的字典作为参数。

这是我尝试过的:

import requests
from django.utils.datastructures import SortedDict

params = SortedDict()
params['s'] = 'value1'
params['f'] = 'value2'

requests.get('https://example.org/private_api', params=params)
#performs request as https://example.org/private_api?f=value1&s=value2

这是我要避免的:

requests.get('https://example.org?{0}'.format(urlencode(params)))

最佳答案

请求库现在支持这种开箱即用的方法:要获取有序参数,您可以使用二值元组序列。这消除了 OrderedDict 的额外要求。

payload = (('key1', 'value1'), ('key2', 'value2'))
r = requests.get("http://httpbin.org/get", params=payload)

演示:

>>> import requests
>>> requests.__version__
1.2.3
>>> payload = (('key1', 'value1'), ('key2', 'value2'), ('key3', 'value3'))
>>> r = requests.get("http://httpbin.org/get", params=payload)
>>> print r.json()['url']
http://httpbin.org/get?key1=value1&key2=value2&key3=value3

关于python-requests:命令获取参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8802945/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com