免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4287 | 回复: 0

python,flask,SAE(新浪云),搭建开发微信公众账号 [复制链接]

论坛徽章:
0
发表于 2015-07-07 10:02 |显示全部楼层
将我们的服务器放在新浪云上,搭建微信公众账号,下面的代码将实现获取微信token,实现最简单的消息对话(用户说什么,我们回复什么)。
因为网上有的代码有错,所以将这个传上来供大家借鉴
注意,代码中的空格不能多,会出错,要严格缩进对齐,然后使用下面的代码一定是无错的。
下面文件依次为:
第一个代码文件是index.wsgi 文件 ,它是启动服务的文件
第二个代码文件是config.yaml文件 , 配置文件
第三个代码文件是meishidaren.py 文件,用于由微信开发模式获取url 和 token,同时可以与用户实现简单通信

[Python]代码
  1. import sae
  2. from meishidaren import app
  3. application = sae.create_wsgi_app(app)
复制代码
[Python]代码
  1. name: gourmetmaster
  2. version: 1
复制代码
meishidaren.py
  1. import time
  2. from flask import Flask,g,request,make_response
  3. import hashlib
  4. import xml.etree.ElementTree as ET
  5. app = Flask(__name__)
  6. app.debug=True
  7. @app.route('/',methods=['GET','POST'])
  8. def wechat_auth():
  9.     if request.method == 'GET':
  10.         token='liusicong'
  11.         data = request.args
  12.         signature = data.get('signature','')
  13.         timestamp = data.get('timestamp','')
  14.         nonce = data.get('nonce','')
  15.         echostr = data.get('echostr','')
  16.         s = [timestamp,nonce,token]
  17.         s.sort()
  18.         s = ''.join(s)
  19.         if (hashlib.sha1(s).hexdigest() == signature):
  20.             return make_response(echostr)
  21.     else:
  22.         rec = request.stream.read()
  23.         xml_rec = ET.fromstring(rec)
  24.         tou = xml_rec.find('ToUserName').text
  25.         fromu = xml_rec.find('FromUserName').text
  26.         content = xml_rec.find('Content').text
  27.         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>"
  28.         response = make_response(xml_rep % (fromu,tou,str(int(time.time())), content))
  29.         response.content_type='application/xml'
  30.         return response
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP