python+flask+SAE 微信公共平台开发的小小的demo
来源:互联网 发布:抚仙湖水下古城 知乎 编辑:程序博客网 时间:2024/06/10 06:13
很简单的一个demo,不过在完成之前也走了一些弯路。
SAE开发平台的申请就不说了,很简单,也比较方便。
需要说下的是微信token的验证,平台需要实名认证之后才可以验证成功。
demo代码如下:
# -*- coding:utf-8 -*- #中文编码import sysreload(sys) #不加这部分好像处理中文还是会出问题sys.setdefaultencoding('utf-8')import time from flask import Flask,request, make_response import hashlib import xml.etree.ElementTree as ETapp = Flask(__name__)app.debug = True@app.route('/') #网址def index(): return 'Index Page'@app.route('/weixin/', methods = ['GET', 'POST'] ) def wechat_auth(): #处理微信请求的处理函数,get方法用于认证,post方法取得微信转发的数据 if request.method == 'GET': token='liyang' data = request.args signature = data.get('signature','') timestamp = data.get('timestamp','') nonce = data.get('nonce','') echostr = data.get('echostr','') s = [timestamp,nonce,token] s.sort() s = ''.join(s) if (hashlib.sha1(s).hexdigest() == signature): return make_response(echostr) else: rec = request.stream.read() #接收消息 xml_rec = ET.fromstring(rec) #用xml处理 tou = xml_rec.find('ToUserName').text fromu = xml_rec.find('FromUserName').text content = xml_rec.find('Content').text content = message_del(content) #调用处理程序 xml_rep = "<xml><ToUserName><![CDATA[%s]]></ToUserName><FromUserName><![CDATA[%s]]></FromUserName><CreateTime>%s</CreateTime><MsgType><![CDATA[text]]></MsgType><Content><![CDATA[%s]]></Content><FuncFlag>0</FuncFlag></xml>" response = make_response(xml_rep % (fromu,tou,str(int(time.time())), content)) response.content_type='application/xml' return responsedef message_del(content): #次数是自定义的消息处理函数,自由发挥 if "baidu" in content: message = "www.baidu.com" elif "金牛" in content: message = "贪财好色小心眼" else: message = "我不知道!" return messageif __name__ == '__main__': app.run()
0 0
- python+flask+SAE 微信公共平台开发的小小的demo
- Flask + SAE 接入微信公众平台
- 基于新浪SAE平台的微信开发
- sae 微信公共平台 springmvc maven
- 微信公共平台开发:简单的自动回复
- 微信公共服务平台开发(.Net 的实现)
- 利用PHP开发的微信公共平台游戏
- 基于Bluemix的微信公共平台应用开发
- [053] 微信公众平台开发教程第23篇-SAE不支持XStream框架的解决方案
- 微信公众平台开发教程第23篇-SAE不支持XStream框架的解决方案
- 微信公众平台开发教程第23篇-SAE不支持XStream框架的解决方案
- 微信公众平台开发教程第23篇-SAE不支持XStream框架的解决方案
- [053] 微信公众平台开发教程第23篇-SAE不支持XStream框架的解决方案
- 微信公众平台开发教程第22篇-SAE不支持XStream框架的解决方案
- 微信公众平台开发教程第23篇-SAE不支持XStream框架的解决方案
- python 微信公共平台
- 微信公共平台开发
- 微信公共平台开发
- Android 判断app是否在前台还是在后台运行
- iOS多线程编程
- 理解sychronized针对的是对象而非语句或者方法
- 单例设计模式详解
- iOS和Android的app界面设计规范
- python+flask+SAE 微信公共平台开发的小小的demo
- C++、C#、java算法学习日记02----选择排序(SelectSort)
- thinkphp 数据库字段自增自减
- iOS自定义导航控制器侧滑返回的多种实现方法
- android五种布局模式
- 【Objective-C Runtime】之理解
- CAS单点登录(SSO)完整教程
- Universal-Image-Loader,android-Volley,Picasso、Fresco和Glide五大Android开源组件加载网络图片的优缺点比较
- textView输入字数统计