使用 Tornado 建立簡單的 Web 服務

2021-06-18 09:44:44 字數 1556 閱讀 3415

讓我們先看一段程式 (hello.py)

我們可以通過命令列執行

$python hello.py --port=8888

來執行程式。這裡命令列引數「--port=8888" 可以省略。如果省略,則使用程式中用 define 定義的預設值。我們後面將會解釋。

現在開啟乙個瀏覽器,訪問 http://localhost:8888/,我們可以看到瀏覽器顯示:

hello, friendly user!

如果訪問 http://localhost:8888/?greeting=nihao,那麼在瀏覽器中將會顯示:

nihao, friendly user!

我們下面進行分析:

1. tornado.options 庫用於解析命令列引數。 define 語句中定義的 選項都會成為全域性物件 options 的屬性。如果使用者沒有提供定義的引數,則使用 define 語句中定義的預設值。define 語句中的 type 引數用於進行簡單的型別檢查。檢查失敗回丟擲異常。如本例中指定 port 型別為 int。

2. tornado 的請求處理類(本例中的 indexhandler)。當處理 http 請求時,tornado 例項化類並根據請求型別呼叫相應的方法。在本例中使用 get 方法請求,因此呼叫 get 方法。

3. requesthandler 的 get_argument 方法可以返回乙個引數。如上例中 ?greeting=nihao,那麼 get_argument("greeting", "hello") 將返回 "nihao" 。如果沒有引數則使用get_argument 的第二個引數作為預設值。

4. requesthandler 的 write 方法。它具有乙個字串引數。該方法將字串寫入 http response。

Tornado 框架的使用

tornado是乙個輕量級python的web框架,他是非阻塞式的,而且速度非常快.得利於其 非阻塞的方式和對 epoll 的運用,tornado 每秒可以處理數以千計的連線,這意味著對於實時 web 服務來說,tornado 是乙個理想的 web 框架。usr bin env python cod...

node之使用express建立基本的web伺服器

1.匯入 express const express require express 2.建立 web 伺服器 4.監聽客戶端的 get 和 post 請求,並向客戶端響應具體的內容 呼叫 express 提供的 res.send 方法,向客戶端響應乙個 json 物件 res.send 呼叫 ex...

基於tornado的簡單socket通訊建立

這裡有比較全的介紹,寫得非常好。顯示效果如下 如下 import errno import functools from tornado ioloop import ioloop import socket import time import queue sock socket socket so...