Solicitudes: manejo de redireccionamiento

En este capítulo se analizará cómo la biblioteca de solicitudes maneja el caso de redirección de URL.

Ejemplo

import requests
getdata = requests.get('http://google.com/')
print(getdata.status_code)
print(getdata.history)

La URL: http://google.com será redirigido usando el código de estado 301 (movido permanentemente) a https://www.google.com/. La redirección se guardará en el historial.

Salida

Cuando se ejecuta el código anterior, obtenemos el siguiente resultado:

E:\prequests>python makeRequest.py
200
[<Response [301]>]

Puede detener la redirección de una URL usando allow_redirects = False. Se puede hacer con los métodos GET, POST, OPTIONS, PUT, DELETE, PATCH utilizados.

Ejemplo

Aquí hay un ejemplo del mismo.

import requests
getdata = requests.get('http://google.com/', allow_redirects=False)
print(getdata.status_code)
print(getdata.history)
print(getdata.text)

Ahora, si verifica la salida, no se permitirá la redirección y obtendrá un código de estado de 301.

Salida

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>