This chapter will take a look at how the Request library handles the url redirection case.
import requests getdata = requests.get('http://google.com/') print(getdata.status_code) print(getdata.history)
The url: http://google.com will be redirected using status code 301(Moved Permanently) to https://www.google.com/. The redirection will be saved in the history.
When the above code is executed, we get the following result −
E:\prequests>python makeRequest.py 200 [<Response [301]>]
You can stop redirection of a URL using allow_redirects = False. It can be done on GET, POST, OPTIONS, PUT, DELETE, PATCH methods used.
Here is an example on the same.
import requests getdata = requests.get('http://google.com/', allow_redirects=False) print(getdata.status_code) print(getdata.history) print(getdata.text)
Now if you check the output, the redirection will not be allowed and will get a status code of 301.
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>