python微信公众号开发音乐模块_python微信公众号开发简单流程实现

本文为大家分享了python微信公众号开发的简单过程,供大家参考,具体内容如下

网上有很多微信公众号的开发教程,但是都是好几年前的了,而且很多都是抄袭其他人的,内容几乎一模一样。真的无语了。只好自己总结一下开发的一些简单流程。

一、注册个微信公众号,这个就不详细说了。

二、登录后台,进入开发中的基本配置,配置下服务器

blank.gif

填写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 = ''

for child in root:

if child.tag == 'ToUserName':

toUser = child.text

datas += '%s' % toUser

elif child.tag == 'FromUserName':

fromUser = child.text

datas += '%s' % fromUser

else:

datas += '<' + child.tag + '>'

datas += child.text

datas += '' + child.tag + '>'

datas += ''

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。其他更复杂的功能需要查询微信的文档。

到此这篇关于python微信公众号开发简单流程实现的文章就介绍到这了,更多相关python微信公众号开发流程内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

时间: 2020-03-07

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值