最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

高性能web服務(wù)器框架Tornado簡(jiǎn)單實(shí)現(xiàn)restful接口及開(kāi)發(fā)實(shí)例

 更新時(shí)間:2014年07月16日 08:39:33   投稿:hebedich  
Tornado和現(xiàn)在的主流Web服務(wù)器框架(包括大多數(shù)Python的框架)有著明顯的區(qū)別:它是非阻塞式服務(wù)器,而且速度相當(dāng)快。得利于其 非阻塞的方式和對(duì)epoll的運(yùn)用,Tornado每秒可以處理數(shù)以千計(jì)的連接,這意味著對(duì)于實(shí)時(shí)Web服務(wù)來(lái)說(shuō),Tornado是一個(gè)理想的Web框架。

有個(gè)朋友讓我搞搞tornado框架,說(shuō)實(shí)話,這個(gè)框架我用的不多。。。

我就把自己的一些個(gè)運(yùn)維研發(fā)相關(guān)的例子,分享給大家。

怎么安裝tornado,我想大家都懂。

pip install tornado

再來(lái)說(shuō)說(shuō)他的一些個(gè)模塊,官網(wǎng)有介紹的。我這里再啰嗦的復(fù)讀機(jī)一下,里面摻夾我的理解。

主要模塊
web - FriendFeed 使用的基礎(chǔ) Web 框架,包含了 Tornado 的大多數(shù)重要的功能,反正你進(jìn)入就對(duì)了。
escape - XHTML, JSON, URL 的編碼/解碼方法
database - 對(duì) MySQLdb 的簡(jiǎn)單封裝,使其更容易使用,是個(gè)orm的東西。
template - 基于 Python 的 web 模板系統(tǒng),類似jinja2
httpclient - 非阻塞式 HTTP 客戶端,它被設(shè)計(jì)用來(lái)和 web 及 httpserver 協(xié)同工作,這個(gè)類似加個(gè)urllib2
auth - 第三方認(rèn)證的實(shí)現(xiàn)(包括 Google OpenID/OAuth、Facebook Platform、Yahoo BBAuth、FriendFeed OpenID/OAuth、Twitter OAuth)
locale - 針對(duì)本地化和翻譯的支持
options - 命令行和配置文件解析工具,針對(duì)服務(wù)器環(huán)境做了優(yōu)化,接受參數(shù)的

底層模塊
httpserver - 服務(wù)于 web 模塊的一個(gè)非常簡(jiǎn)單的 HTTP 服務(wù)器的實(shí)現(xiàn)
iostream - 對(duì)非阻塞式的 socket 的簡(jiǎn)單封裝,以方便常用讀寫操作
ioloop - 核心的 I/O 循環(huán)

再來(lái)說(shuō)說(shuō)tornado接受請(qǐng)求的方式:
關(guān)于get的方式

class MainHandler(tornado.web.RequestHandler): 
  def get(self): 
    self.write("You requested the main page") 
class niubi(tornado.web.RequestHandler): 
  def get(self, story_id): 
    self.write("xiaorui.cc niubi'id is " + story_id) 
application = tornado.web.Application([ 
  (r"/", MainHandler), 
  (r"/niubi/([0-9]+)", niubi), 
])

這樣我們?cè)L問(wèn) /niubi/123123123 就會(huì)走niubi這個(gè)類,里面的get參數(shù)。
關(guān)于post的方式

class MainHandler(tornado.web.RequestHandler): 
  def get(self): 
    self.write('<html><body><form action="/" method="post">'
         '<input type="text" name="message">'
         '<input type="submit" value="Submit">'
         '</form></body></html>') 
  def post(self): 
    self.set_header("Content-Type", "text/plain") 
    self.write("xiaorui.cc and " + self.get_argument("message"))

在tornado里面,一般get和post都在一個(gè)訪問(wèn)路由里面的,只是按照不同method來(lái)區(qū)分相應(yīng)的。
扯淡的完了,大家測(cè)試下get和post。

import tornado.ioloop 
import tornado.web 
import json 
class hello(tornado.web.RequestHandler): 
  def get(self): 
    self.write('Hello,xiaorui.cc') 
class add(tornado.web.RequestHandler): 
  def post(self): 
    res = Add(json.loads(self.request.body)) 
    self.write(json.dumps(res)) 
def Add(input): 
  sum = input['num1'] + input['num2'] 
  result = {} 
  result['sum'] = sum 
  return result 
application = tornado.web.Application([ 
  (r"/", hello), 
  (r"/add", add), 
]) 
if __name__ == "__main__": 
  application.listen(8888) 
  tornado.ioloop.IOLoop.instance().start() 

#大家可以寫個(gè)form測(cè)試,也可以用curl -d測(cè)試

相關(guān)文章

  • Pytorch 實(shí)現(xiàn)計(jì)算分類器準(zhǔn)確率(總分類及子分類)

    Pytorch 實(shí)現(xiàn)計(jì)算分類器準(zhǔn)確率(總分類及子分類)

    今天小編就為大家分享一篇Pytorch 實(shí)現(xiàn)計(jì)算分類器準(zhǔn)確率(總分類及子分類),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-01-01
  • Python?Poetrya項(xiàng)目依賴管理安裝使用詳解

    Python?Poetrya項(xiàng)目依賴管理安裝使用詳解

    這篇文章主要為大家介紹了Python?Poetrya項(xiàng)目依賴管理安裝使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-11-11
  • python操作oracle的完整教程分享

    python操作oracle的完整教程分享

    下面小編就為大家分享一篇python操作oracle的完整教程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧,祝大家游戲愉快哦
    2018-01-01
  • Python爬蟲(chóng)入門案例之爬取去哪兒旅游景點(diǎn)攻略以及可視化分析

    Python爬蟲(chóng)入門案例之爬取去哪兒旅游景點(diǎn)攻略以及可視化分析

    讀萬(wàn)卷書(shū)不如行萬(wàn)里路,學(xué)的扎不扎實(shí)要通過(guò)實(shí)戰(zhàn)才能看出來(lái),本篇文章手把手帶你爬取去哪兒平臺(tái)的旅游景點(diǎn)攻略并進(jìn)行可視化分析,大家可以在過(guò)程中查缺補(bǔ)漏,看看自己掌握程度怎么樣
    2021-10-10
  • python反轉(zhuǎn)字符串的七種解法總結(jié)

    python反轉(zhuǎn)字符串的七種解法總結(jié)

    這篇文章主要介紹了反轉(zhuǎn)字符串的多種方法,包括雙指針、棧結(jié)構(gòu)、range函數(shù)、reversed函數(shù)、切片、列表推導(dǎo)和reverse()函數(shù),每種方法都有其特點(diǎn)和適用場(chǎng)景,需要的朋友可以參考下
    2025-01-01
  • python 實(shí)現(xiàn)體質(zhì)指數(shù)BMI計(jì)算

    python 實(shí)現(xiàn)體質(zhì)指數(shù)BMI計(jì)算

    這篇文章主要介紹了python 實(shí)現(xiàn)體質(zhì)指數(shù)BMI計(jì)算操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • PyTorch搭建CNN實(shí)現(xiàn)風(fēng)速預(yù)測(cè)

    PyTorch搭建CNN實(shí)現(xiàn)風(fēng)速預(yù)測(cè)

    PyTorch是一個(gè)開(kāi)源的Python機(jī)器學(xué)習(xí)庫(kù),基于Torch,用于自然語(yǔ)言處理等應(yīng)用程序。它不僅能夠?qū)崿F(xiàn)強(qiáng)大的GPU加速,同時(shí)還支持動(dòng)態(tài)神經(jīng)網(wǎng)絡(luò)。本文將介紹PyTorch搭建CNN如何實(shí)現(xiàn)風(fēng)速預(yù)測(cè),感興趣的可以學(xué)習(xí)一下
    2021-12-12
  • python中列表和元組的區(qū)別

    python中列表和元組的區(qū)別

    給大家詳細(xì)講解了python中列表和元組的區(qū)別,需要的朋友參考一下。
    2017-12-12
  • Python加載文件內(nèi)容的兩種實(shí)現(xiàn)方式

    Python加載文件內(nèi)容的兩種實(shí)現(xiàn)方式

    這篇文章主要介紹了Python加載文件內(nèi)容的兩種實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • 淺析PHP與Python進(jìn)行數(shù)據(jù)交互

    淺析PHP與Python進(jìn)行數(shù)據(jù)交互

    本篇文章給大家分享了PHP與Python進(jìn)行數(shù)據(jù)交互的詳細(xì)方法以及重點(diǎn)點(diǎn)撥,有興趣的朋友可以學(xué)習(xí)下。
    2018-05-05

最新評(píng)論

永顺县| 石门县| 日土县| 那曲县| 沙洋县| 呈贡县| 尚义县| 江山市| 巴中市| 宣威市| 修武县| 韶山市| 乐业县| 两当县| 柳林县| 黄浦区| 宣城市| 靖安县| 湖南省| 揭西县| 宜宾县| 东乡族自治县| 龙南县| 井研县| 汝城县| 乌拉特前旗| 宁乡县| 靖远县| 兰坪| 资阳市| 高尔夫| 城固县| 孝感市| 丘北县| 长乐市| 聂荣县| 呼图壁县| 福贡县| 德化县| 永春县| 济宁市|