利用Zabbix调用Python程序控制微信公众平台发布报警信息

#!/usr/local/python-3.4/bin/python3.4
# coding: utf-8

import urllib.request
import json
import sys
import time
import os
import shutil
import logging

def gettoken(corp_id,corp_secret):
    gettoken_url = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=' + corp_id + '&corpsecret=' + corp_secret
    try:
        token_file = urllib.request.urlopen(gettoken_url)
    except urllib.error.HTTPError as e:
        print(e.code)
        print(e.read().decode("utf8"))
    token_data = token_file.read().decode('utf-8')
    token_json = json.loads(token_data)
    token_json.keys()
    token = token_json['access_token']
    return token

def senddata(access_token,user,content):
    try:
        send_url = 'https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=' + access_token
        send_values = {
            "touser":user,
            "msgtype":"text",
            "agentid":"4",
            "text":{
                "content":content
                },
            "safe":"0"
            }
        send_data = json.dumps(send_values, ensure_ascii=False).encode(encoding='UTF8')
        send_request = urllib.request.Request(send_url, send_data)
        response = urllib.request.urlopen(send_request)
        msg = response.read()
        print("returned value : " + str(msg))
    except:
        print("returned value : " + str(msg))

default_encoding = 'utf-8'
if sys.getdefaultencoding() != default_encoding:
    reload(sys)
    sys.setdefaultencoding(default_encoding)
user = str(sys.argv[1])
title = str(sys.argv[2])
content = str(sys.argv[3])
corpid = '微信公众平台管理组的ID'
corpsecret = '微信公众平台管理组的凭证密钥'
accesstoken = gettoken(corpid,corpsecret)
senddata(accesstoken,user,content)

效果图预览:

利用Zabbix调用Python程序控制微信公众平台发布报警信息


转载请注明原文链接:http://my.oschina.net/caiyuanbo/blog/501334

由于时间关系暂不添加描述,如果有问题可以跟我一起研究。

QQ:384152164

E-mail:[email protected]


你可能感兴趣的:(运维,微信公众平台,zabbix,python3,微信报警)