Sanic 請求與響應

2021-08-19 13:30:05 字數 2494 閱讀 7744

sanic是乙個類似flask的python 3.5+ web伺服器,它的寫入速度非常快。除了flask之外,sanic還支援非同步請求處理程式。這意味著你可以使用python 3.5中新的閃亮的非同步/等待語法,使你的**非阻塞和快速。

當乙個端點收到乙個http請求時,路由功能被傳遞到乙個request物件。以下變數可以作為request物件的屬性訪問:

async def

post_data

(request):

# 將列印傳遞過來的json資料

print(request.json)

return text("it is ok!")

async def

post_file_data

(request):

info = request.files.get("file")

print(info.name)

print(info.type)

print(info.body)

return text("it is ok!")

async def

post_form_data

(request):

name = request.form.get("name")

return text("it is ok!")

async def

(request):

return text("it is ok!")

scheme:獲取與請求關聯的url方案:httphttpshost:獲取與請求關聯的主機

query_string:獲取查詢的字串,如:name=zhangsan或者為乙個空白字串

uri_template:獲取匹配路由處理程式的模板,如:/get/token:授權標頭的值

async def

get_info

(request):

print(request.args.get("name"))

print(request.args.getlist("name")

return text("it is ok!")

當我們傳入乙個namelaozhang時,在上面有提到,args字典將會是)

from sanic.response import file

async def

get_file

(request):

return await file("/xx/aa/abc.png")

切記,不能少了await關鍵字

from sanic.response import stream

async def

get_stream

(request):

async def

stream_fn

(response):

response.write("abc")

response.write("def")

return stream(stream_fn,content_type="text/plain")

from sanic.response import file_stream

async def

get_file_stream

(request):

return await file_stream("/xx/aa/abc.png")

切記,不能少了await關鍵字

from sanic.response import redirect

async def

get_redirect

(request):

return redirect("/json")

from sanic.response import raw

async def

get_raw

(request):

return raw(b"it is raw data")

from sanic.response import json

async def

get_json

(request):

return json(,headers=,status=403)

訪問此介面後,會發現原來本應是200的狀態值變成了403,而且請求頭資訊中增加了

請求與響應

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

HTTP請求與響應

乙個http請求一般由4部分組成 1.http請求的方法或動作,比如是get還是post請求 2.正在請求的url 3.請求頭,包含一些客戶端環境資訊,身份驗證資訊等等 4.請求體,也就是請求正文,請求正文中可以包含客戶提交的查詢字串資訊,表單資訊等等 注 一般請求頭和請求體之間空一行 get 一般...

tornado請求與響應

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