Python urllib3 Exercises and Solutions for HTTP Requests
Python urllib3 [26 exercises with solution]
[An editor is available at the bottom of the page to write and execute the scripts. Go to the editor]
urllib3 is a powerful, user-friendly HTTP client for Python. Much of the Python ecosystem already uses urllib3 and you should too. urllib3 brings many critical features that are missing from the Python standard libraries:
- Thread safety.
- Connection pooling.
- Client-side SSL/TLS verification.
- File uploads with multipart encoding.
- Helpers for retrying requests and dealing with HTTP redirects.
- Support for gzip, deflate, brotli, and zstd encoding.
- Proxy support for HTTP and SOCKS.
- 100% test coverage.
To use urllib3, you need to install it first using a package manager like pip:
$ python -m pip install urllib3
1. Write a Python program that performs a simple HTTP GET request to a public API (e.g., JSONPlaceholder) and prints the response.
Click me to see the sample solution
2. Write a Python program that makes a GET request with custom headers, such as User-Agent and Authorization.
Click me to see the sample solution
3. Write a Python program that uses query parameters in a GET request to filter or limit the results from an API.
Click me to see the sample solution
4. Write a Python program that makes a POST request to a sample API with some data in the request body.
Click me to see the sample solution
5. Write a Python program that sets a timeout for a GET request to handle cases where the server takes too long to respond.
Click me to see the sample solution
6. Write a Python program that makes multiple requests to the same host and observe the benefits of connection pooling.
Click me to see the sample solution
7. Write a Python program to handle redirects and print the final response URL.
Click me to see the sample solution
8. Write a Python program that makes an HTTPS request with SSL/TLS verification enabled and then disables it to see the difference.
Click me to see the sample solution
9. Write a Python program that implements error handling for network-related exceptions that might occur during a request.
Click me to see the sample solution
10. Write a Python program to download a large file using the stream parameter and save it to the local disk.
Click me to see the sample solution
11. Write a Python program that constructs a URL with query parameters and ensures that the URL is encoded correctly.
Click me to see the sample solution
12. Write a Python program that uses request hooks to log information about each request made with urllib3.
Click me to see the sample solution
13. Write a Python program that makes a request to an API that requires Digest Authentication.
Click me to see the sample solution
14. Write a Python program that uses the urllib3 PoolManager to create and manage a session for making multiple requests.
Click me to see the sample solution
15. Write a Python program that implements a custom SSL context for handling specific SSL configurations.
Click me to see the sample solution
16. Write a Python program that sets up a retry mechanism for failed requests with urllib3.Retry class.
Click me to see the sample solution
17. Write a Python program that makes a POST request to upload a file to a server using urllib3.
Click me to see the sample solution
18. Write a Python program that sends and receives cookies with urllib3, demonstrating cookie persistence..
Click me to see the sample solution
19. Write a Python program that makes a POST request with multipart/form-data to simulate file uploads.
Click me to see the sample solution
20. Write a Python program that sets the maximum connection pool size and observe how it affects the number of simultaneous connections made. Use urllib3.
Click me to see the sample solution
21. Write a Python program that requests a server that supports response compression (gzip or deflate), and observe how urllib3 handles it.
Click me to see the sample solution
22. Write a Python program that implements custom logic to handle redirects based on specific conditions during a request.
Click me to see the sample solution
23. Write a Python program to set up a retry mechanism with incremental timeouts to handle transient network issues.
Click me to see the sample solution
24. Write a Python program that uses event hooks for both requests and responses to customize behavior at various stages of the request/response lifecycle.
Click me to see the sample solution
25. Write a Python program that manually parses a URL, modifies its components, and then reconstruct the URL for a request.
Click me to see the sample solution
26. Write a Python program that makes a request to a server that sends a compressed response. Manually decompresses the content using the urllib3 function.
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
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics