Richieste - Gestione del reindirizzamento

Questo capitolo esaminerà come la libreria Request gestisce il caso di reindirizzamento URL.

Esempio

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

L'URL: http://google.com verrà reindirizzato utilizzando il codice di stato 301 (spostato in modo permanente) a https://www.google.com/. Il reindirizzamento verrà salvato nella cronologia.

Produzione

Quando il codice sopra viene eseguito, otteniamo il seguente risultato:

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

Puoi interrompere il reindirizzamento di un URL utilizzando allow_redirects = False. Può essere eseguito sui metodi GET, POST, OPTIONS, PUT, DELETE, PATCH utilizzati.

Esempio

Ecco un esempio sullo stesso.

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

Ora se controlli l'output, il reindirizzamento non sarà consentito e otterrà un codice di stato 301.

Produzione

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>