python发送钉钉消息通用脚本
[root@manager dingding]# more sed-py.py
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import base64
import hashlib
import hmac
import time
import urllib.parse
import requests
import json class DingTalkWarn:
"""钉钉消息通知""" def __init__(self):
# 安全设置使用加签方式
timestamp = str(round(time.time() * 1000))
# 刚才记录下来的签名
secret = 'SECd25e3c8aa1acec9bf6a0ed876b7e79bd13032453e858350f56280396208848e6'
secret_enc = secret.encode('utf-8')
string_to_sign = '{}\n{}'.format(timestamp, secret)
string_to_sign_enc = string_to_sign.encode('utf-8')
hmac_code = hmac.new(secret_enc, string_to_sign_enc, digestmod=hashlib.sha256).digest()
sign = urllib.parse.quote_plus(base64.b64encode(hmac_code))
# 以上就是加签的安全配置,其它安全设置,无需配置以上信息 # webhook地址(刚才记录的webhook)
webhook = 'https://oapi.dingtalk.com/robot/send?access_token=716f0a3ec23e18393aec4c01a3116f48cc55abb45f20a166c3c4d8b0654f911d'
# 如果你的不是加签的安全方式,即可省去 ×tamp={}&sign={} 部分参数
self.webhook = "{}×tamp={}&sign={}".format(webhook, timestamp, sign)
# 配置请求headers
self.headers = {
"Content-Type": "application/json",
"Charset": "UTF-8" # 发起POST请求时,必须将字符集编码设置成UTF-8。
} def send_text_msg(self, content, at_mobiles=None, is_at_all=False): message = {
"msgtype": "text", # 消息类型
"text": {
"content": content
},
"at": {
"atMobiles": at_mobiles,
"isAtAll": is_at_all
}
}
self.send_req(message) # 发送消息
def send_req(self, message): # 将请求数据进行json数据封装
form_data = json.dumps(message)
# 发起请求
res_info = requests.post(url=self.webhook, headers=self.headers, data=form_data)
# 打印返回的结果
print(u'邮件发送结果:', res_info.json())
print(u'通知成功!' if (res_info.json())['errmsg'] == 'ok' else u'通知失败!') if __name__ == '__main__':
"""测试发送消息"""
#文本方式 读取文本sbjk,使用的时候需要修改文本名称路径必须绝对路径
l = '/wj/sbjk'
f = open(l, 'rt', encoding='utf-8')
content = f.read()
print(content)
DingTalkWarn().send_text_msg(content)
f.close()
[root@manager dingding]# more check.sh
#!/bin/bash
source /etc/profile
w=$(cd $(dirname $0);pwd)
jg=`cat $w/sbjk`
if [ -n "$jg" ]
then
/usr/bin/python3 $w/sed-py.py else
echo '全部成功' fi
* * * * * sleep 10; /wj/dingding/a
* * * * * sleep 20; /wj/dingding/a
* * * * * sleep 30; /wj/dingding/a
* * * * * sleep 40; /wj/dingding/a
* * * * * sleep 50; /wj/dingding/a
python发送钉钉消息通用脚本的更多相关文章
- 使用Python发送、订阅消息
使用Python发送.订阅消息 使用插件 paho-mqtt 官方文档:http://shaocheng.li/post/blog/2017-05-23 Paho 是一个开源的 MQTT 客户端项目, ...
- 使用Python发送企业微信消息
准备工作: 到企业微信官网,注册一个企业:登录企业微信后台,创建一个“自建”应用, 获取企业ID.agentid.secret这3个必要的参数:在企业微信的通讯录中,创建多个测试账号:在手机端安装“企 ...
- Python 发送企业微信消息
1.获取企业微信信息 1)我的企业 --> 企业信息 --> 企业ID 2)创建一个应用,记录该应用的 AgentId.Secret 2.python代码 #!/usr/bin/env p ...
- python脚本实现向钉钉群组发送消息
一.json格式 import json import requests def sendmessage(message): url = 'https://oapi.dingtalk.com/robo ...
- zabbix利用python脚本发送钉钉报警
#!/usr/bin/python # -*- coding: utf-8 -*- import requests import json import sys import os headers = ...
- python发送钉钉消息
import requests import time import hashlib import hmac import base64 import re def SendMessage(messa ...
- python 钉钉机器人发送消息
import json import requests def sendmessage(message): url = 'https://oapi.dingtalk.com/robot/send?ac ...
- 使用python对mysql主从进行监控,并调用钉钉发送报警信息
1.编写python的监控脚本 A.通过获取mysql库中的状态值来判断这个mysql主从状态是否正常 B.进行两个状态值的判断 C.进行调取钉钉机器人,发送消息 2.设置定时任务进行脚本运行 cro ...
- zabbix监控web应用日志报警并发送消息到钉钉
首先在钉钉上开启钉钉机器人功能 说明:自定义关键词是zabbix发送过来的消息内容必须含有你定义的ERROR或者error字段,否则消息无法发送过来 ip地址段:一般都是zabbix-server的I ...
- python 小脚本升级-- 钉钉群聊天机器人
一则小脚本(工作中用) 在这篇文章中写的监控的脚本,发送监控的时候 是利用的邮箱,其实在实际,邮箱查收有着不方便性,于是乎升级, 我们工作中,经常用钉钉,那么如果要是能用到钉钉多好,这样我们的监控成功 ...
随机推荐
- [C++]我的理解之内存对齐
问题1:为什么要内存对齐? 平台原因:不是所有的平台都能访问到任意地址上的任何数据,如果在特定的地址上找不到数据的话就会抛出硬件异常. 性能问题:简单的来说如果没有使用内存对齐的话,相对于内存对齐,C ...
- LibreOJ 144. DFS 序 1
题面 给一棵有根树,这棵树由编号为 \(1\dots N\) 的 \(N\) 个结点组成.根结点的编号为 \(R\).每个结点都有一个权值,结点 \(i\) 的权值为 \(v_i\). 接下来有 \( ...
- 题解P1559 运动员最佳匹配问题
简要题意 给出 \(n\) 个白色顶点,\(n\) 个黑色顶点.白色顶点 \(i\) 和黑色顶点 \(j\) 之间的边的权为 \(P_{i,j}\cdot Q_{j,i}\),求二分图最大权匹配. 思 ...
- Docker使用阿里云拉取配置源也无法拉取的镜像-github镜像镜像gcr.io
我搞了一天都没搞好,最后用了这个办法解决了拉取镜像的问题 对于大部分镜像来说,我们配置源就可以,但是对于较新的镜像,没得搞啊,铁子们,真的崩溃... 最终发现可以通过Aliyun的自动构建来处理被墙镜 ...
- SqlServer服务中利用触发器对指定账户进行登录ip限制提升安全性
转眼间上次写文章已经是 2022年12月15日的事情啦,本来从2022年7月份开始写作之后保持着每周一篇,然而从12月15日后断更了这么久,经历了,隔离.阳.过年.从今天开始继续坚持写作,本片文章给大 ...
- 快速上手python的简单web框架flask
目录 简介 web框架的重要组成部分 快速上手flask flask的第一个应用 flask中的路由 不同的http方法 静态文件 使用模板 总结 简介 python可以做很多事情,虽然它的强项在于进 ...
- C#DataTableRow列值互转
1 /// <summary> 2 /// 把DataRow中的某一列值转换为CheckState类型 3 /// </summary> 4 /// <param nam ...
- Centos7搭建hadoop3.3.4分布式集群
目录 1.背景 2.集群规划 2.1 hdfs集群规划 2.2 yarn集群规划 3.集群搭建步骤 3.1 安装JDK 3.2 修改主机名和host映射 3.3 配置时间同步 3.4 关闭防火墙 3. ...
- AC 自动机上 DP
\(\text{Analysis}\) 做了几道题后发现挺套路的 涉及统计或构造文本串与众多模式串匹配产生贡献或存在限制时的 \(DP\) 一般设 \(f[i][j]\) 表示考虑到文本串第 \(i\ ...
- JZOJ 1077. 【GDKOI2006】防御力量
\(\text{Solution}\) 首先这个题目描述得不清不楚 反正做法是过 \(A\) 城引一条直线,算出直线两侧点数的 \(min\) 找到最优直线,即 \(min\) 最小的 那么重点在判断 ...