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方案:http
或https
host:獲取與請求關聯的主機
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!")
當我們傳入乙個name
為laozhang
時,在上面有提到,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...