關於企業微信如何申請等等相關問題在此不做介紹。
代碼部分
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 用戶名 標題 內容