Home - urllib3 1.26.5 documentation

Support urllib3 on GitHub Sponsors

# 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 git://github.com/urllib3/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 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.