亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

python tornado微信開發(fā)入門代碼

 更新時間:2018年08月24日 15:21:03   作者:LindenTao  
這篇文章主要為大家詳細(xì)介紹了python tornado微信開發(fā)入門代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了python tornado微信開發(fā)的具體代碼,供大家參考,具體內(nèi)容如下

#微信入門代碼
#!/usr/bin/env python2.7
# -*- coding: utf-8 -*-

import tornado.ioloop
import tornado.web
import hashlib
import xml.etree.ElementTree as ET
import time

def 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 == signature

class 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()

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 書單|人生苦短,你還不用python!

    書單|人生苦短,你還不用python!

    Python 誕生之初就被譽(yù)為最容易上手的編程語言。進(jìn)入火熱的 AI 人工智能時代后,它也逐漸取代 Java,成為編程界的頭牌語言。下面這篇文章主要給大家總結(jié)介紹了一些關(guān)于python的書單,需要的朋友可以參考下。
    2017-12-12
  • python 定時器每天就執(zhí)行一次的實(shí)現(xiàn)代碼

    python 定時器每天就執(zhí)行一次的實(shí)現(xiàn)代碼

    這篇文章主要介紹了python 定時器每天就執(zhí)行一次的實(shí)現(xiàn)代碼,代碼簡單易懂非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-08-08
  • python列表添加元素append(),extend(),insert(),+list的區(qū)別及說明

    python列表添加元素append(),extend(),insert(),+list的區(qū)別及說明

    這篇文章主要介紹了python列表添加元素append(),extend(), insert(),+list的區(qū)別及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • python聊天程序?qū)嵗a分享

    python聊天程序?qū)嵗a分享

    這篇文章主要介紹了用python寫的聊天程序,開兩個線程,即是客戶端,也是服務(wù)器,大家可以參考使用
    2013-11-11
  • python繪制直方圖的方法

    python繪制直方圖的方法

    這篇文章主要為大家詳細(xì)介紹了python繪制直方圖的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • python迭代器常見用法實(shí)例分析

    python迭代器常見用法實(shí)例分析

    這篇文章主要介紹了python迭代器常見用法,結(jié)合實(shí)例形式分析了Python迭代器概念、功能、常見操作方法及相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2019-11-11
  • pycharm自動生成文件注釋和函數(shù)注釋

    pycharm自動生成文件注釋和函數(shù)注釋

    這篇文章主要介紹了pycharm自動生成文件注釋和函數(shù)注釋的方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-07-07
  • Python實(shí)現(xiàn)的自定義多線程多進(jìn)程類示例

    Python實(shí)現(xiàn)的自定義多線程多進(jìn)程類示例

    這篇文章主要介紹了Python實(shí)現(xiàn)的自定義多線程多進(jìn)程類,結(jié)合實(shí)例形式分析了Python多線程多進(jìn)程的相關(guān)調(diào)用與使用操作技巧,需要的朋友可以參考下
    2018-03-03
  • 通過Python的jieba庫對文本進(jìn)行分詞

    通過Python的jieba庫對文本進(jìn)行分詞

    Python的jieba庫是一個中文分詞工具,它可以將一段中文文本分割成一個一個的詞語,方便后續(xù)的自然語言處理任務(wù),如文本分類、情感分析等,本文給大家介紹如何通過Python的jieba庫對文本進(jìn)行分詞,文中詳細(xì)的代碼示例,需要的朋友可以參考下
    2023-05-05
  • Python高級過濾器之filter函數(shù)詳解

    Python高級過濾器之filter函數(shù)詳解

    在Python中,filter()是一個非常有用的內(nèi)置函數(shù),它能夠根據(jù)指定的函數(shù)來篩選出可迭代對象中滿足條件的元素,本文將從入門到精通,全面介紹filter()函數(shù)的用法和相關(guān)知識點(diǎn)
    2023-08-08

最新評論