我试图使用 python-requests 来使用某个 API。
我已经尝试过:
import requests
data = ?
r = requests.get('http://localhost:8777/v2/meters/instance', params=data)
我想要构建的查询如下:
http://localhost:8777/v2/meters/instance?q.field=project_id&q.value=s56464dsf6343466
我的问题是,我如何才能通过q.field=project_id&q.value=s56464dsf6343466
我尝试了这样的方法,但没有成功
data = { 'q': [{'field':'project_id', 'value': 's56464dsf6343466'}] }
希望有人能帮忙。
最佳答案
您必须明确命名每个参数:
data = {'q.field':'project_id', 'q.value': 's56464dsf6343466'}
没有标准可以将更复杂的结构编码到 GET 查询参数中;存在的唯一标准为您提供键值对。因此,requests
库不支持任何其他内容。
您当然可以编写自己的编码器,该编码器采用嵌套字典或列表并为您生成平面字典或键值对元组。
关于python - HTTP API 的嵌套 GET 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18609561/