python实现调用企业微信报警

关于企业微信如何申请等等相关问题在此不做介绍。

代码部分

vim wechat.py

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author:Hou Xingbin
import urllib
import json
import sys
import time
from  wechat_conf import CorpID, Agentid, Secret

localtime = time.strftime("[%H:%M:%S]", time.localtime())
dl="\n-------------------------------------\n"
class Tencent(object):
    def __init__(self,user,title,msg):
    # 格式化输出内容:标题+内容 self.MSG
= localtime+title+dl+msg self.User = user self.url = 'https://qyapi.weixin.qq.com' self.send_msg = json.dumps({ "touser": self.User, "msgtype": 'text', "agentid": Agentid, "text": {'content': self.MSG}, "safe": 0 })   # 获取tokent def get_token(self): token_url = '%s/cgi-bin/gettoken?corpid=%s&corpsecret=%s' % (self.url, CorpID, Secret) token = json.loads(urllib.urlopen(token_url).read())['access_token'] return token
  # 发送信息
def send_message(self): send_url = '%s/cgi-bin/message/send?access_token=%s' % (self.url,self.get_token()) respone = urllib.urlopen(url=send_url, data=self.send_msg).read() x = json.loads(respone.decode())['errcode'] if x == 0: print ('Succesfully') else: print ('Failed')
# 创建对象 send_obj
= Tencent(sys.argv[1],sys.argv[2],sys.argv[3])
# 调用发送函数 send_obj.send_message()

配置文件

vim wechat_conf.py

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author:Hou Xingbin

# 此为企业的ID号 CorpID = '***************'

# 应用的ID Agentid = 1000002

# 认证信息,企业ID+认证信息可获取tokent,获取之后向此tokent发送内容 Secret = '********************************'

 脚本应用

以上脚本我是运用于zabbix脚本报警,具体测试语法如下:

python wechat.py 用户名  标题  内容

posted @ 2018-01-05 16:30  以后、  阅读(2874)  评论(0编辑  收藏  举报