python实现给微信公众号发送消息的方法
Python  /  管理员 发布于 7年前   147
本文实例讲述了python实现给微信公众号发送消息的方法。分享给大家供大家参考,具体如下:
现在通过发微信公众号信息来做消息通知和告警已经很普遍了。最常见的就是运维通过zabbix调用shell脚本给微信发消息,起到告警的作用。当要发送的信息较多,而且希望按照指定格式显示的好看一点的时候,shell处理起来,个人感觉不太方便。于是我用Python重写了发微信的功能。
#coding:utf-8import urllib2import jsonimport sysdef getMsg(): #为了避免发送中文消息报错,使用utf8方式编码 reload(sys) sys.setdefaultencoding('utf8') #这个方法生成想要发送的消息 msg = '''要发送的消息1要发送的消息2要发送的消息3...''' return msgif __name__ == '__main__': #微信公众号上应用的CropID和Secret CropID='xxxxxxxxxxxxxxxxxx' Secret='xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' #获取access_token GURL="https://qyapi.weixin.qq.com/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="https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=%s" % Gtoken #企业号中的应用id AppID=1 #部门成员id,微信接收者 UserID=1 #部门id,定义可接收消息的成员范围 PartyID=1 #生成post请求信息 post_data = {} msg_content = {} 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 request_post.read()注意:
2017年6月初开始,微信企业公众号迁移到企业微信,发送消息有一些调整,请参考前文《[企业公众号]升级到[企业微信]之后发送消息失败的解决方法》
更多关于Python相关内容感兴趣的读者可查看本站专题:《Python字符串操作技巧汇总》、《Python编码操作技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》及《Python入门与进阶经典教程》。
希望本文所述对大家Python程序设计有所帮助。
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号
