Este capítulo dará uma olhada em como a biblioteca Request trata o caso de redirecionamento de url.
Exemplo
import requests
getdata = requests.get('http://google.com/')
print(getdata.status_code)
print(getdata.history)
O url: http://google.com será redirecionado usando o código de status 301 (movido permanentemente) para https://www.google.com/. O redirecionamento será salvo no histórico.
Resultado
Quando o código acima é executado, obtemos o seguinte resultado -
E:\prequests>python makeRequest.py
200
[<Response [301]>]
Você pode parar o redirecionamento de um URL usando allow_redirects = False. Pode ser feito nos métodos GET, POST, OPTIONS, PUT, DELETE, PATCH usados.
Exemplo
Aqui está um exemplo do mesmo.
import requests
getdata = requests.get('http://google.com/', allow_redirects=False)
print(getdata.status_code)
print(getdata.history)
print(getdata.text)
Agora, se você verificar a saída, o redirecionamento não será permitido e obterá um código de status 301.
Resultado
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>