python3.8 微信发送服务器监控报警消息代码实现
这篇文章主要介绍了python3.8微信发送服务器监控报警消息代码实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
python版本
>>>importsys >>>sys.version '3.8.0(tags/v3.8.0:fa919fd,Oct142019,19:37:50)[MSCv.191664bit(AMD64)]'
代码
urllib是python3.8内置的
#!/usr/bin/envpython
#-*-coding:utf-8-*-
importurllib.request,urllib.error,json
importsys
classWeChat(object):
__token_id=''
#initattribute
def__init__(self,url):
self.__url=url.rstrip('/')
self.__corpid='[企业号的标识]'
self.__secret='[管理组凭证密钥]'
#GetTokenID
defauthID(self):
params={'corpid':self.__corpid,'corpsecret':self.__secret}
data=urllib.parse.urlencode(params)
content=self.getToken(data)
try:
self.__token_id=content['access_token']
#printcontent['access_token']
exceptKeyError:
raiseKeyError
#Establishaconnection
defgetToken(self,data,url_prefix='/'):
url=self.__url+url_prefix+'gettoken?'
try:
response=urllib.request.Request(url+data)
exceptKeyError:
raiseKeyError
result=urllib.request.urlopen(response)
content=json.loads(result.read())
returncontent
#Getsendmessageurl
defpostData(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)
excepturllib.error.HTTPErrorase:
ifhasattr(e,'reason'):
print('reason',e.reason)
elifhasattr(e,'code'):
print('code',e.code)
return0
else:
content=json.loads(result.read())
result.close()
returncontent
#sendmessage
defsendMessage(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])
效果
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。