1、使用shell生成需要发送的内容。
2、调用该脚本发送文本内容python3,其中的文件 /wj/sbjk,需要改成直接需要发送的文件。
[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'
# 如果你的不是加签的安全方式,即可省去 &timestamp={}&sign={} 部分参数
self.webhook = "{}&timestamp={}&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()
3、调用方式shell中调用python脚本

[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
4、定时任务,每10秒钟运行一次的配置

* * * * * 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发送钉钉消息通用脚本的更多相关文章

  1. 使用Python发送、订阅消息

    使用Python发送.订阅消息 使用插件 paho-mqtt 官方文档:http://shaocheng.li/post/blog/2017-05-23 Paho 是一个开源的 MQTT 客户端项目, ...

  2. 使用Python发送企业微信消息

    准备工作: 到企业微信官网,注册一个企业:登录企业微信后台,创建一个“自建”应用, 获取企业ID.agentid.secret这3个必要的参数:在企业微信的通讯录中,创建多个测试账号:在手机端安装“企 ...

  3. Python 发送企业微信消息

    1.获取企业微信信息 1)我的企业 --> 企业信息 --> 企业ID 2)创建一个应用,记录该应用的 AgentId.Secret 2.python代码 #!/usr/bin/env p ...

  4. python脚本实现向钉钉群组发送消息

    一.json格式 import json import requests def sendmessage(message): url = 'https://oapi.dingtalk.com/robo ...

  5. zabbix利用python脚本发送钉钉报警

    #!/usr/bin/python # -*- coding: utf-8 -*- import requests import json import sys import os headers = ...

  6. python发送钉钉消息

    import requests import time import hashlib import hmac import base64 import re def SendMessage(messa ...

  7. python 钉钉机器人发送消息

    import json import requests def sendmessage(message): url = 'https://oapi.dingtalk.com/robot/send?ac ...

  8. 使用python对mysql主从进行监控,并调用钉钉发送报警信息

    1.编写python的监控脚本 A.通过获取mysql库中的状态值来判断这个mysql主从状态是否正常 B.进行两个状态值的判断 C.进行调取钉钉机器人,发送消息 2.设置定时任务进行脚本运行 cro ...

  9. zabbix监控web应用日志报警并发送消息到钉钉

    首先在钉钉上开启钉钉机器人功能 说明:自定义关键词是zabbix发送过来的消息内容必须含有你定义的ERROR或者error字段,否则消息无法发送过来 ip地址段:一般都是zabbix-server的I ...

  10. python 小脚本升级-- 钉钉群聊天机器人

    一则小脚本(工作中用) 在这篇文章中写的监控的脚本,发送监控的时候 是利用的邮箱,其实在实际,邮箱查收有着不方便性,于是乎升级, 我们工作中,经常用钉钉,那么如果要是能用到钉钉多好,这样我们的监控成功 ...

随机推荐

  1. bbs项目(部分讲解)

    文章评论业务完善 提交评论 评论框里面的内容会清空 然后页面会有一个临时评论样式出现 页面刷新才会出现评论楼样式 研究子评论特性 每个评论右侧都应该有回复按钮 点击就可以填写子评论 点击回复按钮具体动 ...

  2. python之路43 JavaScript语法BOM与DOM jQuery对比 标签绑定事件

    前戏 到目前为止,我们已经学过了JavaScript的一些简单的语法.但是这些简单的语法,并没有和浏览器有任何交互. 也就是我们还不能制作一些我们经常看到的网页的一些交互,我们需要继续学习BOM和DO ...

  3. python进阶之路8 字典、元组、集合内置方法 编码理论

    内容回顾 作业讲解 1.前期不熟练的情况下一定要先写注释 2.一定要仔细思考每一行代码的含义 3.自己不会的代码或者不熟练的代码一定要多敲多练 数据类型内置方法简介 所有的数据类型基本上都自带了一些操 ...

  4. 软件安装——tortoiseGit安装和配置

    Tortoisegit安装指南 TortoiseGit是一个开放的Git版本控制系统的源客户端,它是Git和Windows资源管理器的整合,提供了Git的图形化操作界面 一.软件安装 1.进入tort ...

  5. 动力节点—day04

    final关键字 final修饰的类无法被继承 final修饰的方法无法被覆盖 final修饰的变量只能赋一次值 fianl的引用一旦指向某个对象,则不能重新指向其他对象,但该引用指向对象内部的数据是 ...

  6. 微信公众号签名错误(invalid signature)的问题排查

    之前写好的代码,好多项目一直在用没啥问题,今天做新项目,在调用的时候,wx.config提示签名错误(invalid signature),这搞得相当郁闷,没办法,只能重新一点一点调试. 按照官方的说 ...

  7. python学习第三周总结

    文件操作 文件的读写模式 文件的操作模式 文件相关操作 文件内光标移动 文件内容修改 函数前戏 函数的语法结构 函数的定义和调用 函数的分类 函数的返回值 函数的参数 函数参数之位置参数 默认参数 可 ...

  8. Cubase11/12 安装破解图文教程 【2022年12月29日亲测有效】

    Cubase11/12安装破解图文教程 下载安装包工具 Cubase官网:点击官网进行下载 Cubase11/12工具包:点击立即下载 Cubase12完成破解教程:点击立即查看 安装Cubase11 ...

  9. Dao包 对数据库的操作

    //添加 public static int add(Bean1 bean){ String sql = "insert into classtable(classname,teacher, ...

  10. DVWA靶场实战(十四)——JavaScript

    DVWA靶场实战(十四) 五.Java Script: 1.漏洞原理: 这里的JavaScript其实是JavaScript Attack也就是JS攻击.JavaScript是一种基于对象和事件驱动的 ...