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

Python POST调用API返回Internal Server Error,SQL生成JSON参数硬编码正常求助

问题原因

你通过SQL查询生成的jRecord本身就是已经序列化完成的JSON格式字符串,而requests.post的json参数接收的是Python原生字典/列表对象,会自动对传入内容做JSON序列化。你直接传入JSON字符串时,requests会对字符串做二次序列化,导致最终发送的请求体被额外添加了引号转义,结构不符合服务端要求,因此返回500错误。
你硬编码相同内容能成功,是因为硬编码时传入的是Python字典对象,序列化后的结构符合接口要求。

修复方法

任选以下一种方案修改即可:

  • 方案一:将JSON字符串转为Python字典后再传入json参数
    首先导入json模块,修改jRecord赋值逻辑:
import json
# 其他原有代码不变
jRecord = json.loads(row[0])
  • 方案二:直接将序列化好的JSON字符串传入data参数
    修改post请求代码,把json参数换成data:
y = requests.post(url, data = jRecord , headers = headers , verify=True)

修改后重新运行即可正常调用接口。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 00:39:03