python微信公众号开发简单流程


Posted in Python onMarch 23, 2018

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

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

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

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

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python检测lvs real server状态
Jan 22 Python
Python实现从百度API获取天气的方法
Mar 11 Python
Python进行数据提取的方法总结
Aug 22 Python
Python中str is not callable问题详解及解决办法
Feb 10 Python
python+requests+unittest API接口测试实例(详解)
Jun 10 Python
Python使用三种方法实现PCA算法
Dec 12 Python
python Pandas 读取txt表格的实例
Apr 29 Python
Python常用模块之requests模块用法分析
May 15 Python
python把ipynb文件转换成pdf文件过程详解
Jul 09 Python
如何用Python来理一理红楼梦里的那些关系
Aug 14 Python
Python 批量读取文件中指定字符的实现
Mar 06 Python
pycharm全局搜索的具体步骤
Jul 28 Python
python3如何将docx转换成pdf文件
Mar 23 #Python
python实现csv格式文件转为asc格式文件的方法
Mar 23 #Python
python字典快速保存于读取的方法
Mar 23 #Python
使用Python爬了4400条淘宝商品数据,竟发现了这些“潜规则”
Mar 23 #Python
python 将字符串转换成字典dict的各种方式总结
Mar 23 #Python
Python自定义线程类简单示例
Mar 23 #Python
python如何实现内容写在图片上
Mar 23 #Python
You might like
php返回当前日期或者指定日期是周几
2015/05/21 PHP
WordPress中设置Post Type自定义文章类型的实例教程
2016/05/10 PHP
PHP使用ActiveMQ实例
2018/02/05 PHP
浅析php如何实现爬取数据原理
2018/09/27 PHP
tp5(thinkPHP5)框架连接数据库的方法示例
2018/12/24 PHP
那些年,我还在学习jquery 学习笔记
2012/03/05 Javascript
js 手机号码合法性验证代码集合
2012/09/29 Javascript
Jquery实现图片放大镜效果的思路及代码(自写)
2013/10/18 Javascript
探讨JavaScript语句的执行过程
2016/01/28 Javascript
jQuery 获取跨域XML(RSS)数据的相关总结分析
2016/05/18 Javascript
echarts学习笔记之箱线图的分析与绘制详解
2017/11/22 Javascript
React中的refs的使用教程
2018/02/13 Javascript
微信小程序实现图片滚动效果示例
2018/12/05 Javascript
JS将时间秒转换成天小时分钟秒的字符串
2019/07/10 Javascript
原生js+css调节音量滑块
2020/01/15 Javascript
如何在JavaScript中等分数组的实现
2020/12/13 Javascript
原生js拖拽功能制作滑动条实例代码
2021/02/05 Javascript
Python中unittest用法实例
2014/09/25 Python
一篇文章快速了解Python的GIL
2018/01/12 Python
用Python进行简单图像识别(验证码)
2018/01/19 Python
Python解决抛小球问题 求小球下落经历的距离之和示例
2018/02/01 Python
Python中字典与恒等运算符的用法分析
2019/08/22 Python
Flask模板引擎Jinja2使用实例
2020/04/23 Python
西班牙太阳镜品牌:Hawkers
2018/03/11 全球购物
巴塞罗那观光通票:Barcelona Pass
2019/10/30 全球购物
计算机专业应届毕业生自荐信
2013/09/26 职场文书
网络公司美工设计工作个人的自我评价
2013/11/03 职场文书
计算机通信工程专业毕业生推荐信
2013/12/24 职场文书
出国留学计划书
2014/04/27 职场文书
我爱我校演讲稿
2014/05/21 职场文书
单位作风建设剖析材料
2014/10/11 职场文书
领导干部考核评语
2015/01/04 职场文书
同学会邀请函模板
2015/01/30 职场文书
2019大学毕业晚会主持词
2019/06/21 职场文书
公司周年庆寄语
2019/06/21 职场文书
SQL实战演练之网上商城数据库商品类别数据操作
2021/10/24 MySQL