python实现给发送消息的⽅法
本⽂实例讲述了python实现给发送消息的⽅法。分享给⼤家供⼤家参考,具体如下:
现在通过发信息来做消息通知和告警已经很普遍了。最常见的就是运维通过zabbix调⽤shell脚本给发消息,起到告警的作⽤。当要发送的信息较多,⽽且希望按照指定格式显⽰的好看⼀点的时候,shell处理起来,个⼈感觉不太⽅便。于是我⽤Python重写了发的功能。
#coding:utf-8
import urllib2
import json
import sys
def getMsg():
#为了避免发送中⽂消息报错,使⽤utf8⽅式编码
reload(sys)
sys.setdefaultencoding('utf8')
#这个⽅法⽣成想要发送的消息
msg = '''
要发送的消息1
要发送的消息2
要发送的消息3
...
'''
return msg
if __name__ == '__main__':
#上应⽤的CropID和Secret
CropID='xxxxxxxxxxxxxxxxxx'
Secret='xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
#获取access_token
GURL="qyapi.weixin.qq/cgi-bin/gettoken?corpid=%s&corpsecret=%s" % (CropID,Secret)
result=urllib2.urlopen(urllib2.Request(GURL)).read()
dict_result = json.loads(result)
Gtoken=dict_result['access_token']
#⽣成通过post请求发送消息的url
PURL="qyapi.weixin.qq/cgi-bin/message/send?access_token=%s" % Gtoken
#企业号中的应⽤id
AppID=1
#部门成员id,接收者
UserID=1
#部门id,定义可接收消息的成员范围
PartyID=1
#⽣成post请求信息
post_data = {}
msg_content = {}python新手代码userid
msg_content['content'] = getMsg()
post_data['touser'] = UserID
post_data['toparty'] = PartyID
post_data['msgtype'] = 'text'
post_data['agentid'] = AppID
post_data['text'] = msg_content
post_data['safe'] = '0'
#由于字典格式不能被识别,需要转换成json然后在作post请求
#注:如果要发送的消息内容有中⽂的话,第三个参数⼀定要设为False
json_post_data = json.dumps(post_data,False,False)
#通过urllib2.urlopen()⽅法发送post请求
request_post = urllib2.urlopen(PURL, json_post_data)
#read()⽅法查看请求的返回结果
print ad()
注意:
2017年6⽉初开始,企业迁移到企业,发送消息有⼀些调整,请参考前⽂《》
更多关于Python相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》及《》。
希望本⽂所述对⼤家Python程序设计有所帮助。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。