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

如何在Python POST请求中传递列表参数?遇400错误求解决

解决POST请求传递列表数据返回400错误的问题

针对你遇到的BAD_PARAMETER错误,以下是具体的排查和修复方案:

1. 修复请求体序列化与请求头问题

你手动使用json.dumps生成请求体,但如果请求头header中未指定Content-Type: application/json,服务器可能无法正确解析JSON格式的参数,导致无法识别Ids列表。

更简便可靠的方式是直接使用requests库的json参数,它会自动完成数据序列化并设置正确的Content-Type请求头:

import requests
from config import api_url

data = [1234, 4214]

payload = {
    "Ids": data,
    "serviceProfile": "915"
}

# 使用json参数替代手动dumps+data参数
response = requests.post(api_url["url"], json=payload, headers=header, cert=(clientCrt, clientKey))

# 注意变量名统一:请求返回的是response,打印时不要用resp
print(response.text)
print(response.status_code)

2. 手动设置请求头的注意事项

如果必须手动构造JSON请求体,务必在header中添加Content-Type字段:

header = {
    # 保留你原本的其他头信息
    "Content-Type": "application/json"
}

3. 验证API参数要求

  • 确认Ids的参数名是否完全匹配API文档(比如是否要求小写ids、或者其他命名如IDList)
  • 确认API是否接受数字类型的ID列表,若要求字符串类型,可尝试转换为["1234", "4214"]再测试

4. 修正代码变量名错误

你的代码中请求返回对象是response,但打印时误用了resp,这会导致运行时报错,记得统一变量名。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 12:00:23