python训练营微信广告发送机_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="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程序设计有所帮助。

Python实现的微信公众号群发图片与文本消息功能实例详解

本文实例讲述了Python实现的微信公众号群发图片与文本消息功能。分享给大家供大家参考,具体如下:在微信公众号开发中,使用api都要附加access_token

python中关于for循环的碎碎念

为什么要挑战自己在代码里不写forloop?因为这样可以迫使你去使用比较高级、地道的语法或库。文中以python为例子,讲了不少大家其实在别人的代码里

Python使用openpyxl读写excel文件的方法

这是一个第三方库,可以处理xlsx格式的Excel文件。pipinstallopenpyxl安装。如果使用Aanconda,应该自带了。读取Excel文件需要导入相关函数。fromopenpyxlimportload

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值