+发表新主题
查看: 1529|回复: 0

[代码片段] 微信公众平台接口Python使用样例

[复制链接]

[代码片段] 微信公众平台接口Python使用样例

[复制链接]
风的传说自由 发表于 2013-12-26 17:09:45 浏览:  1529 回复:  0 [显示全部楼层] 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
微信公众平台接口Python使用样例
使用的是Django,其他类似

  1. # coding=utf-8
  2. from django.http import HttpResponse
  3. import hashlib, time, re
  4. from xml.etree import ElementTree as ET
  5.       
  6. def weixin(request):
  7.         token = "your token here"
  8.         params = request.GET
  9.         args = [token, params['timestamp'], params['nonce']]
  10.         args.sort()
  11.         if hashlib.sha1("".join(args)).hexdigest() == params['signature']:
  12.                 if params.has_key('echostr'):
  13.                         return HttpResponse(params['echostr'])
  14.                 else:
  15.                         reply = """<xml>
  16.                                 <ToUserName><![CDATA[%s]]></ToUserName>
  17.                                 <FromUserName><![CDATA[%s]]></FromUserName>
  18.                                   <CreateTime>%s</CreateTime>
  19.                                   <MsgType><![CDATA[text]]></MsgType>
  20.                                   <Content><![CDATA[%s]]></Content>
  21.                                   <FuncFlag>0</FuncFlag>
  22.                           </xml>"""
  23.                           if request.raw_post_data:
  24.                                   xml = ET.fromstring(request.raw_post_data)
  25.                                   content = xml.find("Content").text
  26.                                   fromUserName = xml.find("ToUserName").text
  27.                                   toUserName = xml.find("FromUserName").text
  28.                                   postTime = str(int(time.time()))
  29.                                 if not content:
  30.                                           return HttpResponse(reply % (toUserName, fromUserName, postTime, "输入点命令吧..."))
  31.                                   if content == "Hello2BizUser":
  32.                                         return HttpResponse(reply % (toUserName, fromUserName, postTime, "查询成绩绩点请到http://chajidian.sinaapp.com/ 本微信更多功能开发中..."))
  33.                                   else:
  34.                                           return HttpResponse(reply % (toUserName, fromUserName, postTime, "暂不支持任何命令交互哦,功能开发中..."))
  35.                                           
  36.                         else:
  37.                                 return HttpResponse("Invalid Request")
  38.         else:
  39.                 return HttpResponse("Invalid Request")
复制代码


回复

使用道具 举报


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版| 赣南网

© 2013-2016 Comsenz Inc. Powered by Discuz! X3.4

用微信扫一扫

赣南网