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 小脚本升级-- 钉钉群聊天机器人
一则小脚本(工作中用) 在这篇文章中写的监控的脚本,发送监控的时候 是利用的邮箱,其实在实际,邮箱查收有着不方便性,于是乎升级, 我们工作中,经常用钉钉,那么如果要是能用到钉钉多好,这样我们的监控成功 ...
随机推荐
- [python] 基于Gradio可视化部署机器学习应用
Gradio是一个开源的Python库,用于构建机器学习和数据科学演示应用.有了Gradio,你可以围绕你的机器学习模型或数据科学工作流程快速创建一个简单漂亮的用户界面.Gradio适用于以下情况: ...
- Python自动化结算工资和统计报表|编程一对一教学微信:Jiabcdefh
实例需求说明 你好,我是悦创. 博客首发:https://bornforthis.cn/column/pyauto/auto_base07.html 学习了 Excel 文件的写入.读取和追加内容,那 ...
- P8622 [蓝桥杯 2014 国 B] 生物芯片
简要题意 有 \(N\) 个二进制数,编号为 \(1\sim N\),初始时都是 \(0\).博士进行了 \(N-1\) 次操作,在第 \(i\) 次操作时,会将 \(1\sim N\) 中所有编号为 ...
- App几个可能造成内存泄漏的情况:
App几个可能造成内存泄漏的情况: 1.block块中直接用self调用,self将会被block copy到内部增加一次饮用计数,形成循环引用 在block里调用self会不会造成循环引用和这个bl ...
- 在spring boot3中使用native image
目录 简介 安装GraalVM 添加Native Image支持 构建spring boot3应用 总结 简介 在之前spring boot3文章中我们介绍了,spring boot3的一个重要特性就 ...
- SEO关键词布局方法
关键词在<title>标签. description属性. keywords属性中是如何布局的. 1.<title>标签中布局关键词 <title>标签是用来定义网 ...
- 笔记:C#Datatable 根据某字段数量 自动复制该行的数量
/// <summary> /// 根据Datatable某字段数量自动复制该行查询 /// </summary> /// <param name="dt&qu ...
- drf-api接口、测试工具postman
1.web应用模式 """ django是一个web框架,专门用来写web项目,之前学的bbs项目,图书管理系统,用的是前后端混合开发. ""&quo ...
- 【学习日志】Cglib动态代理和JDK动态代理的对比
Cglib JDK Proxy 实现方式 生成被代理类的子类 通过被代理类实现的接口+反射 速度 慢(曾经快于JDK Proxy,但JDK Proxy几次迭代后逐渐落后) 快 限制 被代理类不能是 ...
- UBUNTU安装代码阅读器Understand
https://blog.csdn.net/weixin_40641902/article/details/79607225 1.直接下载 Understand-3.1.670-Linux-64bit ...