首页 > 编程 > Python > 正文

python tornado微信开发入门代码

2020-01-04 14:39:34
字体:
来源:转载
供稿:网友

本文实例为大家分享了python tornado微信开发的具体代码,供大家参考,具体内容如下

#微信入门代码#!/usr/bin/env python2.7# -*- coding: utf-8 -*-import tornado.ioloopimport tornado.webimport hashlibimport xml.etree.ElementTree as ETimport timedef check_signature(signature, timestamp, nonce):  # 微信公众平台里输入的token  token="linden"  #字典序排序  list = [token,timestamp,nonce]  list.sort()  sha1=hashlib.sha1()  map(sha1.update,list)  hashcode=sha1.hexdigest()  return hashcode == signatureclass MainHandler(tornado.web.RequestHandler):  def get(self):    signature = self.get_argument('signature')    timestamp = self.get_argument('timestamp')    nonce = self.get_argument('nonce')    echostr = self.get_argument('echostr')    if check_signature(signature, timestamp, nonce):      self.write(echostr)    else:      self.write('fail')  def post(self):     body = self.request.body    data = ET.fromstring(body)    toUser = data.find('ToUserName').text    fromUser = data.find('FromUserName').text    createTime = int(time.time())    msgType = data.find('MsgType').text    content = data.find('Content').text    msgId= data.find("MsgId").text    # from与to在返回的时候要交换    textTpl = """<xml>      <ToUserName><![CDATA[%s]]></ToUserName>      <FromUserName><![CDATA[%s]]></FromUserName>      <CreateTime>%s</CreateTime>      <MsgType><![CDATA[%s]]></MsgType>      <Content><![CDATA[%s]]></Content>      <MsgId>%s</MsgId>      </xml>"""    out = textTpl % (fromUser, toUser, createTime, msgType, content, msgId)    self.write(out)application = tornado.web.Application([  (r"/", MainHandler),])if __name__ == "__main__":  application.listen(80)  tornado.ioloop.IOLoop.instance().start()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持VEVB武林网。


注:相关教程知识阅读请移步到python教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表