当前位置 主页 > 网站技术 > 代码类 >

    python3.8 微信发送服务器监控报警消息代码实现

    栏目:代码类 时间:2019-11-05 18:07

    这篇文章主要介绍了python3.8 微信发送服务器监控报警消息代码实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    python版本

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

    代码

    urllib是python3.8内置的

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    
    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])

    效果

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持IIS7站长之家。