w3resource

Python Requests: Exercises, Practice, Solution

Python Requests [9 exercises with solution]

[An editor is available at the bottom of the page to write and execute the scripts.]

Requests is an elegant and simple HTTP library for Python, built for human beings. Requests allows you to send HTTP/1.1 requests extremely easily. There's no need to manually add query strings to your URLs, or to form-encode your POST data. Keep-alive and HTTP connection pooling are 100% automatic.

1. Write a Python code to find the Requests module - version, licence, copyright information, author, author email, document url, title and description. Go to the editor
Click me to see the sample solution

2. Write a Python code 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 successful request. Go to the editor
Click me to see the sample solution

3. 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. Go to the editor
Click me to see the sample solution

4. Write a Python code to send a request to a web page, and print the information of headers. Also parse these values and print key-value pairs holding various information. Go to the editor
Click me to see the sample solution

5. Write a Python code to send a request to a web page, and print the JSON value of the response. Also print each key value of the response. Go to the editor
Click me to see the sample solution

6. Write a Python code to send a request to a web page and stop waiting for a response after a given number of seconds. In the event of times out of request, raise Timeout exception. Go to the editor
Click me to see the sample solution

7. Write a Python code to send some sort of data in the URL's query string. Go to the editor
Click me to see the sample solution

8. Write a Python code to send cookies to a given server and access cookies from the response of a server. Go to the editor
Click me to see the sample solution

9. Write a Python code to verify the SSL certificate for a website which is certified. Go to the editor
Click me to see the sample solution

Python Code Editor:


More to Come !

Do not submit any solution of the above exercises at here, if you want to contribute go to the appropriate exercise page.

Test your Python skills with w3resource's quiz



Python: Tips of the Day

Python: Kwargs

**kwargs and *args are function arguments that can be very useful.

They are quite underused and often under-understood as well.

Let's try to explain what kwargs are and how to use them.

  • While *args are used to pass arguments at an unknown amount to functions, **kwargs are used to do the same but with named arguments.
  • So, if *args is a list being passed as an argument, you can think of **kwargs as a dictionary that's being passed as an argument to a function.
  • You can use arguments as you wish as long as you follow the correct order which is: arg1, arg2, *args, **kwargs. It's okay to use only one of those but you can't mix the order, for instance, you can't have: function(**kwargs, arg1), that'd be a major faux pas in Python.
  • Another example: You can do function(*args,**kwargs) since it follows the correct order.
  • Here is an example. Let's say satelites are given with their names and weight in tons in dictionary format. Code prints their weight as kilograms along with their names.
def payloads(**kwargs):
    for key, value in kwargs.items():
        print( key+" |||", float(value)*100)
payloads(NavSat1 = '2.5', BaysatG2 = '4')

Output:

NavSat1 ||| 250.0
BaysatG2 ||| 400.0

Since the function above would work for any number of dictionary keys, **kwargs makes perfect sense rather than passing arguments with a fixed amount.

def payloads(**kwargs):
    for key, value in kwargs.items():
        print( key+" |||", float(value)*100)

sats={"Tx211":"3", "V1":"0.50"}
payloads(**sats)

Output:

Tx211 ||| 300.0
V1 ||| 50.0