python tornado微信開(kāi)發(fā)入門代碼
本文實(shí)例為大家分享了python tornado微信開(kāi)發(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):
# 微信公眾平臺(tái)里輸入的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在返回的時(shí)候要交換
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()
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Python Tornado之跨域請(qǐng)求與Options請(qǐng)求方式
- Python對(duì)Tornado請(qǐng)求與響應(yīng)的數(shù)據(jù)處理
- python-tornado的接口用swagger進(jìn)行包裝的實(shí)例
- python使用tornado實(shí)現(xiàn)登錄和登出
- Python tornado隊(duì)列示例-一個(gè)并發(fā)web爬蟲代碼分享
- python用裝飾器自動(dòng)注冊(cè)Tornado路由詳解
- 深入解析Python的Tornado框架中內(nèi)置的模板引擎
- Python Tornado核心及相關(guān)原理詳解
相關(guān)文章
PyCharm License Activation激活碼失效問(wèn)題的解決方法(圖文詳解)
這篇文章主要介紹了PyCharm License Activation激活碼失效問(wèn)題的解決方法,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-03-03
Python拋出引發(fā)異常(raise)知識(shí)點(diǎn)總結(jié)
在本篇文章里小編給大家整理了關(guān)于Python拋出引發(fā)異常(raise)知識(shí)點(diǎn)總結(jié)內(nèi)容,有需要的朋友們可以學(xué)習(xí)參考下。2021-06-06
python使用turtle庫(kù)與random庫(kù)繪制雪花
這篇文章主要為大家詳細(xì)介紹了python使用turtle庫(kù)與random庫(kù)繪制雪花,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-06-06
Numpy中np.max的用法及np.maximum區(qū)別
這篇文章主要介紹了Numpy中np.max的用法及np.maximum區(qū)別,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11
selenium3+python3環(huán)境搭建教程圖解
這篇文章主要介紹了selenium3+python3環(huán)境搭建教程圖解,需要的朋友可以參考下2018-12-12
Python餐飲AI機(jī)器人學(xué)習(xí)數(shù)據(jù)網(wǎng)絡(luò)抓取
在餐飲行業(yè),AI機(jī)器人可以通過(guò)學(xué)習(xí)大量的相關(guān)數(shù)據(jù)來(lái)提供更好的服務(wù)和體驗(yàn),在文本中,我們將介紹如何使用python進(jìn)行餐飲A?I機(jī)器人學(xué)習(xí)數(shù)據(jù)的網(wǎng)絡(luò)抓取,并提供代碼的示例和最佳實(shí)踐2023-12-12
Python中的Descriptor描述符學(xué)習(xí)教程
簡(jiǎn)單來(lái)說(shuō),數(shù)據(jù)描述符是指實(shí)現(xiàn)了__get__、__set__、__del__方法的類屬性,等效于定義了三個(gè)方法的接口,下面就來(lái)詳細(xì)看一下Python中的Descriptor修飾符學(xué)習(xí)教程2016-06-06

