Requests也有提供Hook系統,目前僅針對response,可以使用hooks
parameter並傳入key為hook name
;value為callback function
的dictionary。關於callback function的部分,有沒有回傳值都可以。
def print_url(r, *args, **kwargs):
print(r.url)
requests.get('https://httpbin.org/', hooks={'response': print_url})
Requests支援的HTTP Verbs
如下: GET
, OPTIONS
, HEAD
, POST
, PUT
, PATCH
and DELETE
此外,也可以使用客製化的Verb
Requests預設使用Blocking IO
的模式,亦即需要等到整個response都被下載完成才會繼續往下做事,若要使用Non-Blocking IO
的話可以參考
為了避免請求被回應過慢的Server給卡住,嚴重的話可能被卡的時間是以分鐘計算的,使用上必須要記得設定timeout