Python: Check the status code issued by a server in response to a client's request
2. Status Code and Attributes Checker
Write a Python program to check the status code issued by a server in response to a client's request made to the server. Print all of the methods and attributes available to objects on a successful request.
All HTTP response status codes are separated into five classes or categories. The first digit of the status code defines the class of response, while the last two digits do not have any classifying or categorization role. There are five classes defined by the standard:
1xx informational response – the request was received, continuing process
2xx successful – the request was successfully received, understood, and accepted
3xx redirection – further action needs to be taken in order to complete the request
4xx client error – the request contains bad syntax or cannot be fulfilled
5xx server error – the server failed to fulfil an apparently valid request
Sample Solution:
Python Code:
import requests
res = requests.get('https://google.com/')
print("Response of https://google.com/:")
print(res.status_code)
res = requests.get('https://amazon.com/')
print("Response of https://amazon.com/:")
print(res.status_code)
res = requests.get('https://w3resource.com/')
print("Response of https://w3resource.com/:")
print(res.status_code)
print("\nMethods and attributes available to objects on successful\nrequest of https://w3resource.com:\n")
print(dir(res))
Sample Output:
Response of https://google.com/: 200 Response of https://amazon.com/: 503 Response of https://w3resource.com/: 200 Methods and attributes available to objects on successful request of https://w3resource.com: ['__attrs__', '__bool__', '__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__enter__', '__eq__', '__exit__', '__format__', '__ge__', '__getattribute__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__nonzero__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__setstate__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_content', '_content_consumed', '_next', 'apparent_encoding', 'close', 'connection', 'content', 'cookies', 'elapsed', 'encoding', 'headers', 'history', 'is_permanent_redirect', 'is_redirect', 'iter_content', 'iter_lines', 'json', 'links', 'next', 'ok', 'raise_for_status', 'raw', 'reason', 'request', 'status_code', 'text', 'url']
For more Practice: Solve these Related Problems:
- Write a Python program that sends a GET request to a specified URL, prints the status code, and then lists all methods and attributes available on the response object.
- Write a Python script to check the response status code of a web request, and then use dir() to print a sorted list of attributes and methods of the response object.
- Write a Python function that accepts a URL, performs a GET request, and returns a dictionary of the response object's attributes along with the status code.
- Write a Python program to send a request to a web page and then dynamically print all available methods on the response object that start with an underscore.
Python Code Editor:
Have another way to solve this solution? Contribute your code (and comments) through Disqus.
Previous: Write a Python code to find the Requests module – version, licence, copyright information, author, author email, document url, title and description.
Next: Write a Python code to send a request to a web page, and print the response text and content. Also get the raw socket response from the server.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.