# 獲取表單
data =
await self.request.post(
)# 獲取url // 中的引數
user_id = self.request.match_info.get(
'user_id'
)# 獲取json
data =
await self.request.json(
)# 獲取get引數
name = self.request.query.get(
"name"
)
aiohttp 中介軟體
# 004是這有這個有用
@middleware_004
async
deftest
(request)
('handler function called'
)return web.response(text=
"hello"
)# 這裡註冊的中介軟體是全域性的
[middleware1, middleware2,logger_factory_003]
)'/'
, test)
"0.0.0.0"
,port=
"8888"
)
middleware 1 called
middleware 2 called
i am logger factory 003
>>
>>
>>
>>
>
004handler function called
<<
<<
<<
<<
<
004middleware 2 finished
middleware 1 finished
如果是類view, 全域性註冊的中介軟體不需要更改,只有004號直接作用到view上的需要改.
如***摘錄的**
:# jwt.exceptions.decodeerror token 格式不對
# jwt.exceptions.invalidsignatureerror 秘鑰key不對
# jwt.exceptions.invalidalgorithmerro 演算法不一致
# jwt.exceptions.expiredsignatureerror token過期
@wraps(func)
async
definner
(cls,
*args,
**kwargs)
: jwt_token = cls.request.query.get(
'token')if
not jwt_token:
data =
return web.json_response(data=data, dumps=json_dumps)
try:
jwt_payload = jwt.decode(jwt_token, jwt_secret_key, algorithms=
['hs256'])
"jwt_token"
]= jwt_payload
return
await func(cls,
*args,
**kwargs)
# 正常呼叫並返回
except
( jwt.exceptions.decodeerror,
jwt.exceptions.invalidsignatureerror,
jwt.exceptions.invalidalgorithmerror
)as e:
data =
return web.json_response(data=data, dumps=json_dumps)
except jwt.exceptions.expiredsignatureerror as e:
data =
return web.json_response(data=data, dumps=json_dumps)
return inner
Python aiohttp多執行緒併發爬蟲
使用者 大綱正則 patternoutline 章節頁面正則 patternbodyset tklist 2064 獲得大綱鏈結 def getoutline url,patternoutline res requests.get url,headers random.sample headers,...
xpath 省略中間路徑 中間路徑方法
xpath 省略中間路徑 在我的職業生涯的大部分時間裡,我一直在從事軟體開發工作,因此,即使我不止一次涉足解決方案工程,我還是把自己視為軟體開發人員 或軟體架構師 這肯定會對我如何看待架構景觀產生影響,但是我會盡量保持客觀。從歷史上看,提供滿足業務需求的軟體解決方案有兩種方法 我的軟體開發人員方面以...
python屬於中介軟體嗎 python中介軟體
django的中介軟體是全域性範圍內處理django的請求和響應的框架級別的鉤子。定義from django.utils.deprecation importmiddlewaremixinclassmd1 middlewaremixin defprocess request self,request...