本文为大家分享了python微信公众号开发的简单过程,供大家参考,具体内容如下
网上有很多微信公众号的开发教程,但是都是好几年前的了,而且很多都是抄袭其他人的,内容几乎一模一样。真的无语了。只好自己总结一下开发的一些简单流程。
一、注册个微信公众号,这个就不详细说了。
二、登录后台,进入开发中的基本配置,配置下服务器
填写url和token,url是服务器的地址,token是自己定义的
三、登录服务器开发
网上很多教程用的什么新浪sae啊,webpy都是很久之前的。现在很多东西都变了,所以我没有用,我用的阿里的服务器以及flask做后端。
代码如下
# coding:utf-8 from hashlib import sha1 from flask import Flask, request token = 'xxxxxx' app = Flask(__name__) def get_update(token, timestamp, nonce): arguments = '' for k in sorted([token, timestamp, nonce]): arguments = arguments + str(k) m = sha1() m.update(arguments.encode('utf8')) return m.hexdigest() def check_signature(): signature = request.args.get('signature', '') timestamp = request.args.get('timestamp', '') nonce = request.args.get('nonce', '') check = get_update(token, timestamp, nonce) return True if check == signature else False def parse_xml(data): try: import xml.etree.cElementTree as ET except ImportError: import xml.etree.ElementTree as ET root = ET.fromstring(data) datas = '<xml>' for child in root: if child.tag == 'ToUserName': toUser = child.text datas += '<FromUserName>%s</FromUserName>' % toUser elif child.tag == 'FromUserName': fromUser = child.text datas += '<ToUserName>%s</ToUserName>' % fromUser else: datas += '<' + child.tag + '>' datas += child.text datas += '</' + child.tag + '>' datas += '</xml>' return datas @app.route('/weixin', methods=['GET', 'POST']) def weixinInterface(): if check_signature: if request.method == 'GET': echostr = request.args.get('echostr', '') return echostr elif request.method == 'POST': data = request.data msg = parse_xml(data) return msg else: return 'signature error' if __name__ == '__main__': app.run(host='0.0.0.0')
一开始的话微信会让你验证填写的url,验证方式是通过传入时间戳timestamp,随机数nonce,token事先约定好的,echostr随机字符串,以及签名signature,需要根据时间戳,随机数,token的值进行字典序排序,然后用sha1加密得到签名,检验签名是否一致,是的话返回随机字符串echostr。如果校验成功,就可以提交了,提交之后就可以启用服务器配置。
上面的代码还包括了如果用户发送信息给公众号,返回该信息,当然只是很简单的解析xml以及构造xml。其他更复杂的功能需要查询微信的文档。
风云阁资源网 Design By www.bgabc.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
风云阁资源网 Design By www.bgabc.com
暂无评论...
更新日志
2024年11月20日
2024年11月20日
- 罗大佑-无法盗版的青春套装版10CD【WAV】
- 张学友《意乱情迷》蜚声环球 2024 [WAV+CUE][1G]
- 柏菲《好歌30年特别版2CD》最好听的影视歌曲[低速原抓WAV+CUE][1G]
- 张学友《世纪10星·永恒篇》香港版[WAV+CUE][1G]
- 模拟之声慢刻CD《刘德海.琵琶独奏精逊【低速原抓WAV+CUE】
- Jamettone-18052023—improv(EDit)(2024)【FLAC】
- 【索尼精芽20首最棒的苏格兰歌曲集【FLAC】
- 池约翰C.J《少年白马醉春风2 动画原声带》[320K/MP3][26.67MB]
- 池约翰C.J《少年白马醉春风2 动画原声带》[FLAC/分轨][144.13MB]
- 陈致逸《幻想乐园 Fantasyland》[320K/MP3][120.54MB]
- 席卷全球最红舞曲《火辣辣DJ[英文版]》[DTS-WAV]
- 群星-席卷全球最红舞曲《火辣辣DJ中文版》【WAV】
- 模拟之声慢刻CD《声入人心[年度发烧人声严选]》[低速原抓WAV+CUE]
- 陈致逸《幻想乐园 Fantasyland》[FLAC/分轨][554.27MB]
- Rhymist / LusciousBB《年轮》[320K/MP3][76.52MB]