python3.8 微信傳送伺服器監控報警訊息程式碼實現
阿新 • • 發佈:2020-01-09
這篇文章主要介紹了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,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])
效果
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。