Tornado之請求與響應頭

2022-02-06 14:48:03 字數 3317 閱讀 3205

self.write("我在下面!

") name = self.get_argument("name","none")

self.write("這個是我:"+name)

class

headerhandler

(tornado.web.requesthandler):

defget

(self):

self.write('set_header')

self.set_header('aaa', '1111') ###set_header 可以設定響應頭,如果出現同乙個響應頭,會覆蓋

self.set_header('bbb', '2222')

self.set_header('bbb', '3333')

class

addhandler

(tornado.web.requesthandler):

##add_header 可以向響應頭裡面新增資訊,而且是可以出現相同資訊

defget

(self):

self.write('add_header')

self.add_header('ccc', '3333')

self.add_header('ccc', '4444')

class

cleanhandler

(tornado.web.requesthandler):

# clear_header 可以撤銷給定的響應頭資訊

defget

(self):

self.write('clear_heander')

self.add_header('abcd', '5555')

self.add_header('abcd', '6666')

self.clear_header('abcd') #清除所有的abcd的響應頭

class

sendhandler

(tornado.web.requesthandler):

defget

(self):

self.write('send_error')

# self.flush()

# self.send_error(404) ### send_error 可以將指定的 http 錯誤碼傳送到瀏覽器

''' 使用 send_error 時需要注意:如果已經執行了 flush,則不能再執行 send_error,因此該方法將簡單地終止響應

如果輸出已寫入但尚未重新整理,則將其丟棄並替換為錯誤頁面

'''defwrite_error

(self, status_code, **kwargs):

# send_error 在其底層呼叫的是 write_error

self.write('status_code: %s' % status_code) #此處可以對write_error方法進行重寫

class

notfoundhandler

(tornado.web.requesthandler):

defget

(self, *args, **kwargs):

self.send_error(404)

defwrite_error

(self, status_code, **kwargs):

self.render('error_notfound.html') #返回乙個error_notfound.html頁面

class

indexhandler

(tornado.web.requesthandler):

#注意先後執行順序

defset_default_headers

(self):

print(' ---set_default_headers---:設定header')

definitialize

(self):

print(' ---initialize---:初始化')

defprepare

(self):

print(' ---prepare---:準備工作')

defget(self):

self.write(' ---get---:處理get請求'+'

') def

post

(self):

self.write(' ---post---:處理post請求'+'

') def

write_error

(self, status_code, **kwargs):

print(' ---write_error---:處理錯誤')

defon_finish

(self):

print(' ---on_finish---:結束,釋放資源')

handlers = [

(r"/", mainhandler),

(r"/set", headerhandler),

(r"/add",addhandler),

(r"/set",addhandler),

(r"/clean",cleanhandler),

(r"/send",sendhandler),

(r"/index",indexhandler),

(r'/(.*)', notfoundhandler), #放到最後

tornado請求與響應

tornado中處理請求與響應的類如下,所有檢視類必須繼承該類 tornado.web.requesthandler 一.響應之 self.write 方法1.該方法可返回值的型別 當返回字典時 可以把字典 json 成字串 使用 write 返回,其在response 頭中呈現的是text型別 w...

HTTP請求頭與響應頭

請求頭 瀏覽器向伺服器傳送請求的資料,資源。響應頭 伺服器向瀏覽器響應資料,告訴瀏覽器我是誰,我要你怎麼做。如,我是nginx,給你的資源是正確的200 還是錯誤的404,我要你快取多久。常見的請求頭 accept text html,image 瀏覽器可以接收的型別 accept charset ...

django之請求和響應

回想一下,利用http協議向伺服器傳參有幾種途徑?在定義路由url時,可以使用正規表示式提取引數的方法從url中獲取請求引數,django會將提取的引數直接傳遞到檢視的傳入引數中。定義在django.http.querydict httprequest物件的屬性get post都是querydict...