You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python Requests库的GET请求params参数中传递字典

问题根因

GET请求的查询参数本质是扁平的字符串键值对,原生不支持嵌套字典、数组结构。你直接将嵌套字典传入params参数时,Requests默认的序列化逻辑会生成不符合后端解析要求的参数格式,导致后端无法识别到sellout_inclusion字段。

可行解决方案

方法1:将嵌套参数序列化为JSON字符串(最常用)

绝大多数要求传嵌套参数的后端,都支持直接传入JSON序列化后的字符串作为参数值,示例代码如下:

import requests
import json

# 构造参数
query_params = {
    # 此处可添加其他需要传递的顶层参数
    "selections": json.dumps({
        "sellout_inclusion": ["Include All"]
    })
}

# 发送请求
resp = requests.get("替换为你的实际API地址", params=query_params)

方法2:手动展开为后端兼容的扁平格式

如果后端要求使用表单风格的嵌套参数写法,直接把嵌套路径拼接到参数名中即可:

import requests

query_params = {
    "selections[sellout_inclusion][]": "Include All"
}

resp = requests.get("替换为你的实际API地址", params=query_params)
排查技巧

如果调整后还是报错,可打印请求的最终URL和浏览器抓包的请求URL做对比,快速定位参数格式差异:
print(resp.url)

如果API支持GET请求传请求体,也可以尝试把参数放入json参数传递:

resp = requests.get("替换为你的实际API地址", json={
    "selections": {"sellout_inclusion": ["Include All"]}
})

内容的提问来源于stack exchange,提问作者Chadc

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 01:48:04