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

调用Allegro API出现415 Unsupported Media Type错误求排查

问题原因分析

你遇到的415错误核心问题出在请求体的传递方式上:

  • 使用requests库的put方法时,json参数接受的是Python字典(而非JSON字符串),库会自动完成字典到JSON字符串的序列化,同时自动维护正确的Content-Type头。
  • 你现在用json.dumps(payload)把字典转成JSON字符串后传给json参数,这会导致requests把该字符串当成JSON的原始值处理,最终发送的请求体是一个包裹着JSON字符串的JSON(比如"{"maxAmount":..."),而非后端期望的JSON对象格式,服务器无法识别这种格式,因此返回415错误。

修复方案

直接将字典传给json参数,无需手动调用json.dumps():

response = session.put(
    url=DEFAULT_API_URL + "/bidding/offers/1498090700/bid",
    json=payload,  # 直接传递Python字典即可
)

额外补充两个细节:

  • 单独设置charset头意义不大,标准格式应该是Content-Type: application/json; charset=utf-8,不过requests在使用json参数时会自动处理编码,这个头可以不用手动设置。
  • GET请求正常是因为GET请求不需要请求体,不存在格式问题,和PUT的情况不冲突。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 00:24:54