urllib3¶
urllib3 is a powerful, sanity-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 and deflate 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'
Installing¶
urllib3 can be installed with pip:
$ pip install urllib3
Alternatively, you can grab the latest source code from GitHub:
$ git clone git://github.com/shazow/urllib3.git
$ python setup.py 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 Reference documentation provides API-level documentation.
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.