欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python实现服务器监控报警消息用微信发送(附代码)

程序员文章站 2022-03-26 13:29:46
前言 文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。 作者:NicePython PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取http://t.cn/A6Zvjdun 这篇文章主要介绍了python3.8 ......

前言

文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。

作者:nicepython

ps:如有需要python学习资料的小伙伴可以加点击下方链接自行获取http://t.cn/a6zvjdun

这篇文章主要介绍了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)]'

代码

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])

效果

python实现服务器监控报警消息用微信发送(附代码)

 

python实现服务器监控报警消息用微信发送(附代码)