当前位置: 首页 > article >正文

Zabbix问题记录2--踩坑HttpRequest,header添加无效

背景

在试图尝试通过Zabbix接入DeepSeek API的时候,由于使用了HTTP的方式,所以需要使用Zabbix 自带的HttpRequest库进行请求,产生了下面的问题

问题

curl
curl -X POST https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
    "model": "deepseek-r1",
    "messages": [
        {
            "role": "user", 
            "content": "9.9和9.11谁大"
        }
    ]
}'

这是阿里云的DeepSeek API的请求示例,可以看到必须加入两个header,即必须把API_KEY放进去,所以我写了如下的代码

request.addHeader('Content-Type','application/json');
request.addHeader('Authorization','Bearer xxx');

但是收获了如下的error

250751:20250224:105524.139 [ DeepSeek Webhook ] Received response with status code 401
{"error":{"message":"You didn't provide an API key. You need to provide your API key in an Authorization header using Bearer auth (i.e. Authorization: Bearer YOUR_KEY). ","type":"invalid_request_error","param":null,"code":null},"request_id":"327c1ff0-1ec2-9a60-b95b-9516ab2d2745"}

显示没有找到对应的key

解决方案

从中文文档中,很难发现问题出在了哪里
在这里插入图片描述

但是直到我去查他的代码示例

req.addHeader('Content-Type: application/json');

作为对比

request.addHeader('Content-Type','application/json');

有没有发现哪里不太一样?根本就不是key-value的模式!
然后我就去转成了英文的文档,英文文档很明显的写了只需要输入value,所以根本就不是key-value的格式
在这里插入图片描述

于是修改代码,请求成功!
在这里插入图片描述

总结

不说别的,少看中文文档,能帮自己减少很多坑!


http://www.kler.cn/a/563149.html

相关文章:

  • 算法教程:香槟塔问题
  • STM32片内存储参数规划设计应用实例
  • ZIP64扩展和普通ZIP文件有什么区别?
  • 【学写LibreCAD】1 LibreCAD主程序
  • angular使用IndexedDb实现增删改查sql
  • 【实战中提升自己】防火墙篇之双ISP切换与VRRP切换对于用户的体验
  • Sublime Text4安装、汉化
  • 每日一题——字母异位词分组
  • 刚充值Deepseek账号,但接入官方的API却遇到了问题【VSCode Cline Cursor Deepseek deepseek-reasoner】
  • Uniapp 小程序:语音播放与暂停功能的实现及优化方案
  • Flink Checkpoint机制详解
  • 数据存储:一文掌握存储数据到MongoDB详解
  • DS-3KM220250226 3K引擎修复版传奇2025版完整源码搭建教程
  • JAVA面试_进阶部分_Linux面试题
  • 【Uniapp-Vue3】登录成功后获取当前用户信息并渲染到页面中
  • JDBC连接池
  • jar生产部署脚本
  • 使用ZFile打造属于自己的私有云系统结合内网穿透实现安全远程访问
  • OpenHarmony DFX子系统
  • seasms v9 注入漏洞 + order by注入+​information_schema​解决方法