Żądania - obsługa przekierowań
W tym rozdziale przyjrzymy się, jak biblioteka żądań obsługuje przypadek przekierowania adresu URL.
Przykład
import requests
getdata = requests.get('http://google.com/')
print(getdata.status_code)
print(getdata.history)
Adres URL: http://google.com zostanie przekierowany przy użyciu kodu stanu 301 (przeniesiony na stałe) do https://www.google.com/. Przekierowanie zostanie zapisane w historii.
Wynik
Po wykonaniu powyższego kodu otrzymujemy następujący wynik -
E:\prequests>python makeRequest.py
200
[<Response [301]>]
Możesz zatrzymać przekierowanie adresu URL za pomocą allow_redirects = False. Można to zrobić na zastosowanych metodach GET, POST, OPTIONS, PUT, DELETE, PATCH.
Przykład
Oto przykład tego samego.
import requests
getdata = requests.get('http://google.com/', allow_redirects=False)
print(getdata.status_code)
print(getdata.history)
print(getdata.text)
Jeśli teraz sprawdzisz dane wyjściowe, przekierowanie nie będzie dozwolone i otrzyma kod stanu 301.
Wynik
E:\prequests>python makeRequest.py
301
[]
<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>301 Moved</TITLE></HEAD><BODY>
<H1>301 Moved</H1>
The document has moved
<A HREF="http://www.google.com/">here</A>.
</BODY></HTML>