python實現微信發送服務器監控報警消息

這篇文章主要介紹了python3.8 微信發送服務器監控報警消息代碼實現,文中經過示例代碼介紹的很是詳細,對你們的學習或者工做具備必定的參考學習價值,須要的朋友能夠參考下python


python版本json

>>> import sys
>>> sys.version
'3.8.0 (tags/v3.8.0:fa919fd, Oct 14 2019, 19:37:50) [MSC v.1916 64 bit (AMD64)]'複製代碼

代碼api

import urllib.request,urllib.error,json
import sys
 
class WeChat(object):
    __token_id = ''
    # init attribute
    def __init__(self,url):
        self.__url = url.rstrip('/')
        self.__corpid = '[企業號的標識]'
        self.__secret = '[管理組憑證密鑰]'
 
    # Get TokenID
    def authID(self):
        params = {'corpid':self.__corpid, 'corpsecret':self.__secret}
        data = urllib.parse.urlencode(params)
 
        content = self.getToken(data)
 
        try:
            self.__token_id = content['access_token']
            # print content['access_token']
        except KeyError:
            raise KeyError
 
    # Establish a connection
    def getToken(self,data,url_prefix='/'):
        url = self.__url + url_prefix + 'gettoken?'
        try:
            response = urllib.request.Request(url + data)
        except KeyError:
            raise KeyError
        result = urllib.request.urlopen(response)
        content = json.loads(result.read())
        return content
 
    # Get sendmessage url
    def postData(self,data,url_prefix='/'):
        url = self.__url + url_prefix + 'message/send?access_token=%s' % self.__token_id
        request = urllib.request.Request(url,data.encode())
        print(url)
        print(data)
        try:
            result = urllib.request.urlopen(request)
        except urllib.error.HTTPError as e:
            if hasattr(e,'reason'):
                print('reason',e.reason)
            elif hasattr(e,'code'):
                print('code',e.code)
            return 0
        else:
            content = json.loads(result.read())
            result.close()
        return content
 
    # send message
    def sendMessage(self,touser,message):
 
        self.authID()
 
        data = json.dumps({
            'touser':"[企業號中的用戶賬號]",
            'toparty':"[企業號中的部門id]",
            'msgtype':"[消息類型]",
            'agentid':"[企業號中的應用id]",
            'text':{
                'content':message
            },
            'safe':"0"
        },ensure_ascii=False)
 
        response = self.postData(data)
        print(response)
 
 
if __name__ == '__main__':
    a = WeChat('https://qyapi.weixin.qq.com/cgi-bin')
    a.sendMessage(sys.argv[1],sys.argv[3])複製代碼

效果 在這裏插入圖片描述 在這裏插入圖片描述 .bash

相關文章
相關標籤/搜索