python - HTTP API 的嵌套 GET 参数

标签 python python-requests

我试图使用 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/

相关文章:

python - 使用Python Requests模块登录网站

python - 将 'boxes' 与 imgflip 的 API 一起使用时出现错误消息

python - 为什么 BeautifulSoup4 缺少第一个文件 URL?

python - 存储列表字典的问题

python - 如何使用 matplotlib 绘制复杂的条形图——具有多行条形的多个子图?

python - 在 CSV 文件中搜索特定值的单个列并返回整行

python - 如何从时间序列重采样中获取列内的类别计数

javascript - 为 Electron js编译python包

Python 请求模块不再工作

python - 如何使用 BeautifulSoup 从网站上获取所有标题?