urllib3#
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 TLS/SSL verification. 
- File uploads with multipart encoding. 
- Helpers for retrying requests and dealing with HTTP redirects. 
- Support for gzip, deflate, and brotli encoding. 
- Proxy support for HTTP and SOCKS. 
- 100% test coverage. 
urllib3 is powerful and easy to use:
>>> import urllib3
>>> http = urllib3.PoolManager()
>>> r = http.request('GET', 'http://httpbin.org/robots.txt')
>>> r.status
200
>>> r.data
'User-agent: *\nDisallow: /deny\n'
For Enterprise#
| Professional support for urllib3 is available as part of the Tidelift Subscription. Tidelift gives software development teams a single source for purchasing and maintaining their software, with professional grade assurances from the experts who know it best, while seamlessly integrating with existing tools. | 
Installing#
urllib3 can be installed with pip
$ python -m pip install urllib3
Alternatively, you can grab the latest source code from GitHub:
$ git clone https://github.com/urllib3/urllib3.git
$ cd urllib3
$ git checkout 1.26.x
$ pip install .
Usage#
The User Guide is the place to go to learn how to use the library and accomplish common tasks. The more in-depth Advanced Usage guide is the place to go for lower-level tweaking.
The API Reference documentation provides API-level documentation.
Who uses urllib3?#
urllib3 is one of the most downloaded packages on PyPI and is a dependency of many popular Python packages like Requests, Pip, and more!
License#
urllib3 is made available under the MIT License. For more details, see LICENSE.txt.
Contributing#
We happily welcome contributions, please see Contributing for details.


