response.raise_for_status() returns an HTTPError object if an error has occurred during the process. It is used for debugging the requests module and is an integral part of Python requests. Python requests are generally used to fetch the content from a particular resource URI. Whenever we make a request to a specified URI through Python, it returns a response object. Now, this response object would be used to access certain features such as content, headers, etc. This article revolves around how to check the response.raise_for_status() out of a response object.
How to use response.raise_for_status() using Python requests?
To illustrate the use of response.raise_for_status(), let’s ping github.com and geeksforgeeks.org. To run this script, you need to have Python and requests installed on your PC.
Prerequisites:
Example code:
Python3
# import requests module import requests # Making a get request # print response print (response) # print check if an error has occurred print (response.raise_for_status()) # ping an incorrect url # print check if an error has occurred print (response.raise_for_status()) |
Example:
Save the above file as request.py and run using
Python request.py
Output:
Check that Traceback error, it shows that an error has occurred along with the error “Invalid URL” and status code 404.
Advanced Concepts: There are many libraries to make an HTTP request in Python, which are httplib, urllib, httplib2, treq, etc., but requests is the one of the best with cool features. If any attribute of requests shows NULL, check the status code using below attribute.
requests.status_codeIf status_code doesn’t lie in the range of 200-29. You probably need to check the method to begin used for making a request + the url you are requesting for resources.