python3.8 微信发送服务器监控报警消息代码实现
这篇文章主要介绍了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])
效果
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。