tornado請求與響應

2022-05-15 17:33:09 字數 1897 閱讀 8987

tornado中處理請求與響應的類如下, 所有檢視類必須繼承該類:

tornado.web.requesthandler

一. 響應之

self.write()

方法1.  該方法可返回值的型別

: 當返回字典時

, 可以把字典

json

成字串

, 使用

write

返回,

其在response

頭中呈現的是text型別

.write()方法執行不代表檢視的終止,該方法把返回的內容會放入快取區, 

其下如還有**會繼續執行.

快取區什麼時候返回內容呢?  1.程式結束; 2.手動重新整理; 3.快取區滿了; 4.遇到\n

2.  使用

write

方法直接返回字典

, 也可

. 其在

response

響應頭中會自動呈現為

json型別.

二.  響應之

self.redirect( url )方法:

1. 重定向到

url**

.三. 響應之

self.send_error( status_code, **kwargs)

和 write_error( status_code, **kwargs)

send_error用來丟擲

錯誤狀態碼

, 預設為

500,

丟擲後tornado

會呼叫write_error

方法處理

.並返回

給瀏覽器事先定義的錯誤頁面.

注意: self.send_error()只是個

tornado

提供的乙個方法, 而

write_error

是類方法

.def write_erroe(self, status_code, **kwargs):

類中無論何處send_error方法丟擲的

, 都會在該方法中處理

. status_code

會接受錯誤碼

可根據status_code來返回不同的自定義頁面

. def get(self, *args, **kwargs):

self.send_error(500)

四. 響應之self.finish()方法

1. 作用同self.write()方法, 都可用於返回資料, 不同之處在於write方法是把資料放入快取區, 而finish方法

在write基礎上會自動重新整理快取區把內容返回, 且會關閉當此請求通道, 其下其餘的返回內容無效.

五.  響應頭設定

1.  set_status( status_code, reason=none)方法的使用

:在tornado檢視方法中直接使用

:(注意

reason

為none

時狀態碼必須為正常值

def get(self):

self.set_status(666, 『狀態碼的描述』)

self.write(『...........』)

2.  tornado提供有全域性設定響應頭的方法

, 方法名固定

, 框架內建的

:在檢視類中定義該方法, 其下配合

set_header

方法設定響應頭

, 即可讓試圖類中所有方法都帶有響應頭

:def set_default_headers():

self.set_header(key, value)  # key和

value

自定義即可

.self.set_header(k1, v1)     # 可羅列多個該方法

, 一次設定多個響應頭

Tornado之請求與響應頭

self.write 我在下面 name self.get argument name none self.write 這個是我 name class headerhandler tornado.web.requesthandler defget self self.write set header...

請求與響應

響應頭 content type refresh location等等 案例 定時重新整理,設定refresh resp.setheader refresh 3 url day03 bservlet 禁用瀏覽器快取,cache control,pragma,expires 標籤可以代替響應頭 響應體...

Sanic 請求與響應

sanic是乙個類似flask的python 3.5 web伺服器,它的寫入速度非常快。除了flask之外,sanic還支援非同步請求處理程式。這意味著你可以使用python 3.5中新的閃亮的非同步 等待語法,使你的 非阻塞和快速。當乙個端點收到乙個http請求時,路由功能被傳遞到乙個reques...