0

0

Python怎么自动发钉钉_调用钉钉群机器人Webhook接口发送运维系统告警

P粉602998670

P粉602998670

发布时间:2026-03-17 12:06:01

|

700人浏览过

|

来源于php中文网

原创

钉钉机器人Webhook地址需严格符合格式:以https://oapi.dingtalk.com/robot/send?access_token=xxx形式填写,末尾不得含多余参数或&,URL不可被URL编码、不可含空格/换行/双引号等隐藏字符;Python中须显式设置headers={"Content-Type": "application/json"},使用json=参数而非data=;text消息换行用\n;生产环境须加timeout和重试,并从环境变量读取access_token。

python怎么自动发钉钉_调用钉钉群机器人webhook接口发送运维系统告警

钉钉机器人Webhook地址怎么填才不报400错误

直接填错URL是发不出消息的最常见原因。钉钉要求Webhook必须带access_token参数,且不能被URL编码过——比如复制链接时浏览器自动把%转义了,或手动加了双引号、空格、换行符,都会导致400 Bad Request

  • 检查URL是否形如https://oapi.dingtalk.com/robot/send?access_token=xxx,末尾**不能有多余参数或&符号**
  • requests.post()时,**不要把整个URL塞进params里**,否则会二次拼接出错
  • 如果URL是从钉钉管理后台复制的,粘贴后用print(repr(url))看有没有隐藏字符(比如\n\u200b

Python用requests发消息必须设Content-Type为application/json

钉钉接口只认application/json,默认requests.post()发的是application/x-www-form-urlencoded,不设会返回{"errcode":310000,"errmsg":"invalid media type"}

  • 必须显式传headers={"Content-Type": "application/json"}
  • json=参数会自动序列化+设header,比data=json.dumps(...)更安全(避免漏设header或手动编码出错)
  • 别用data=传字典,否则body是b'key=value'格式,钉钉直接拒收

text类型消息里content字段要换行就得用\n,不是

运维告警常要分多行显示主机、时间、错误码,但钉钉text类型不支持HTML标签,

<br>
会被当纯文本显示出来。

皮卡智能
皮卡智能

AI驱动高效视觉设计平台

下载
  • content里的换行必须用\n,例如"主机: web01\n时间: 2024-05-20 14:22\n错误码: 502"
  • 如果内容来自日志文件或subprocess输出,注意原始字符串可能含\r\n,建议统一用.replace('\r\n', '\n').replace('\r', '\n')
  • 想加粗或高亮?text类型做不到,得切到markdown类型,但要注意markdowntitle字段不能空,且text字段仍需存在(哪怕为空字符串)

生产环境必须加超时和重试,否则网络抖动就丢告警

运维系统对告警到达率敏感,但requests.post()默认无限等待,DNS失败、连接卡住、钉钉临时限流都可能导致脚本hang住或静默失败。

立即学习Python免费学习笔记(深入)”;

  • 强制加timeout=(3, 7):3秒连上,7秒内收到响应,超时抛requests.exceptions.Timeout
  • ConnectionErrorTimeout、状态码非200的情况做1–2次重试(别无脑循环),用time.sleep(1)隔开
  • 钉钉返回{"errcode":0,"errmsg":"ok"}才算成功;errcode非0时,errmsg里可能有线索(比如"daily limit reached"说明机器人被限频)
钉钉Webhook本身没认证机制,access_token泄露等于告警通道被接管,所有生产环境的URL必须从环境变量或密钥管理服务读取,绝不能硬编码在脚本里。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

458

2023.08.07

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

549

2023.08.23

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

337

2023.10.13

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

84

2025.09.10

python中print函数的用法
python中print函数的用法

python中print函数的语法是“print(value1, value2, ..., sep=' ', end=' ', file=sys.stdout, flush=False)”。本专题为大家提供print相关的文章、下载、课程内容,供大家免费下载体验。

193

2023.09.27

python print用法与作用
python print用法与作用

本专题整合了python print的用法、作用、函数功能相关内容,阅读专题下面的文章了解更多详细教程。

19

2026.02.03

js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

761

2023.08.03

js截取字符串的方法
js截取字符串的方法

js截取字符串的方法有substring()方法、substr()方法、slice()方法、split()方法和slice()方法。本专题为大家提供字符串相关的文章、下载、课程内容,供大家免费下载体验。

221

2023.09.04

c++ 字符处理
c++ 字符处理

本专题整合了c++字符处理教程、字符串处理函数相关内容,阅读专题下面的文章了解更多详细内容。

0

2026.03.17

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
最新Python教程 从入门到精通
最新Python教程 从入门到精通

共4课时 | 22.5万人学习

Django 教程
Django 教程

共28课时 | 5.1万人学习

SciPy 教程
SciPy 教程

共10课时 | 2万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号