Requests 重定向與請求歷史

2022-06-27 14:42 更新

默認情況下,除了 HEAD, Requests 會自動處理所有重定向。

可以使用響應(yīng)對象的 history 方法來追蹤重定向。

Response.history 是一個 Response 對象的列表,為了完成請求而創(chuàng)建了這些對象。這個對象列表按照從最老到最近的請求進行排序。

例如,Github 將所有的 HTTP 請求重定向到 HTTPS:

>>> r = requests.get('http://github.com')

>>> r.url
'https://github.com/'

>>> r.status_code
200

>>> r.history
[<Response [301]>]

如果你使用的是GET、OPTIONS、POST、PUT、PATCH 或者 DELETE,那么你可以通過 allow_redirects 參數(shù)禁用重定向處理:

>>> r = requests.get('http://github.com', allow_redirects=False)
>>> r.status_code
301
>>> r.history
[]

如果你使用了 HEAD,你也可以啟用重定向:

>>> r = requests.head('http://github.com', allow_redirects=True)
>>> r.url
'https://github.com/'
>>> r.history
[<Response [301]>]


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號