python tornado微信開發(fā)入門代碼
更新時間:2018年08月24日 15:21:03 作者:LindenTao
這篇文章主要為大家詳細介紹了python tornado微信開發(fā)入門代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了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)文章
PyCharm License Activation激活碼失效問題的解決方法(圖文詳解)
這篇文章主要介紹了PyCharm License Activation激活碼失效問題的解決方法,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-03-03
Python拋出引發(fā)異常(raise)知識點總結(jié)
在本篇文章里小編給大家整理了關(guān)于Python拋出引發(fā)異常(raise)知識點總結(jié)內(nèi)容,有需要的朋友們可以學(xué)習(xí)參考下。2021-06-06
Numpy中np.max的用法及np.maximum區(qū)別
這篇文章主要介紹了Numpy中np.max的用法及np.maximum區(qū)別,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11
selenium3+python3環(huán)境搭建教程圖解
這篇文章主要介紹了selenium3+python3環(huán)境搭建教程圖解,需要的朋友可以參考下2018-12-12
Python餐飲AI機器人學(xué)習(xí)數(shù)據(jù)網(wǎng)絡(luò)抓取
在餐飲行業(yè),AI機器人可以通過學(xué)習(xí)大量的相關(guān)數(shù)據(jù)來提供更好的服務(wù)和體驗,在文本中,我們將介紹如何使用python進行餐飲A?I機器人學(xué)習(xí)數(shù)據(jù)的網(wǎng)絡(luò)抓取,并提供代碼的示例和最佳實踐2023-12-12
Python中的Descriptor描述符學(xué)習(xí)教程
簡單來說,數(shù)據(jù)描述符是指實現(xiàn)了__get__、__set__、__del__方法的類屬性,等效于定義了三個方法的接口,下面就來詳細看一下Python中的Descriptor修飾符學(xué)習(xí)教程2016-06-06

