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

使用POST请求携带安全密钥调用API时遇HTTP 400错误求助

POST请求带安全密钥返回HTTP 400错误的排查与修复

问题场景

通过POST方法调用产品数据接口,请求头中传递安全密钥,但返回HTTP 400错误,相关代码如下:

def api(request):
   headers={'content-type':'application/json','security-key': 'valu-key'}
   url = 'http://api-content/product/GetProduct'

   x = requests.post(url, headers = headers)
   content=x.status_code
   return HttpResponse(content)

可能的原因及修复方案

  • 缺少请求体(Payload)
    多数POST接口要求携带JSON格式的请求体,即使接口无参数,也需要传递空的JSON对象。当前代码仅传递请求头,未提交请求体,会触发服务器的参数校验错误。
    修复示例:

    def api(request):
        headers={'content-type':'application/json','security-key': 'valu-key'}
        url = 'http://api-content/product/GetProduct'
        # 根据接口需求构造请求体,无参数则传空对象
        payload = {}
        x = requests.post(url, headers=headers, json=payload)
        content = x.status_code
        return HttpResponse(content)
    
  • 安全密钥错误
    检查valu-key是否为接口要求的有效密钥,注意拼写、大小写是否匹配,部分接口要求密钥需经过Base64等编码处理。
    修复:确认密钥正确性,按接口文档要求处理后再放入请求头。

  • 接口地址错误
    核对http://api-content/product/GetProduct是否为正确的接口地址,检查协议(HTTP/HTTPS)、路径拼写是否有误。
    修复:替换为接口文档中提供的正确URL。

  • 请求头字段不匹配
    确认security-key是否为接口指定的头字段名,部分接口会使用X-Security-Key或Security-Key等命名;同时若未传递JSON请求体,content-type设置为application/json可能引发服务器校验错误。
    修复:对照接口文档修正请求头字段名,若无需JSON请求体,可移除content-type或改为接口要求的格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 18:20:59