httplib2 is a free and open source Python-based HTTP client library that supports many features left out of other HTTP libraries.
Note: HTTPS support is only available if the socket module was compiled with SSL support.
Here are some key features of "httplib2":
HTTP and HTTPS:
· HTTPS support is only available if the socket module was compiled with SSL support.
Keep-Alive:
· Supports HTTP 1.1 Keep-Alive, keeping the socket open and performing multiple requests over the same connection if possible.
Authentication:
· The following types of HTTP Authentication are supported. These can be used over both HTTP and HTTPS.
· Digest
· Basic
· WSSE
· HMAC Digest
· Google Account Authentication
Caching:
· The module can optionally operate with a private cache that understands the Cache-Control: header and uses both the ETag and Last-Modified cache validators.
All Methods:
· The module can handle any HTTP request method, not just GET and POST.
Redirects:
· Automatically follows 3XX redirects on GETs.
Compression:
· Handles both 'deflate' and 'gzip' types of compression.
Lost update support:
· Automatically adds back ETags into PUT requests to resources we have already cached. This implements Section 3.2 of Detecting the Lost Update Problem Using Unreserved Checkout.
Unit Tested:
· A large and growing set of unit tests.
Requirements:
· Python 2.3 or later
What's New in This Release: [ read full changelog ]
· More fixes for the App Engine support.
· Added a new feature that allows you to supply your own provider for the CA_CERTS file. Just create a module named ca_certs_locater that has a method get() that returns the file location of the CA_CERTS file.
· Lots of clean up of the code formatting to make it more consistent.