HttxLib 1.01
Http/Https library
HttxLib is a library that builds on httplib and urllib2. Both have all the pieces in place but unconnected. httplib separates HTTP from HTTPS and connections are sometimes closed too early or reuse is not easily allowed. Cookies are totaly forgotten and so is compression. urllib2 enforces a complex pattern usage full of decisions (create an opener with a HTTPBasicAuthHandler, but what happens if the auth is "Digest"? Add a cookie jar and many others)
And server certificate validation is missing from both.
HttxLib enhances the functionality but allowing early connection reuse, keeping connections open always, hiding the HTTP/HTTPS separation and handling redirection and authentication transparently (credentials still have to be supplied) Cookies are handled transparently.
The design allows for multiple and multithread connections using the concept of a "Manager" that "Network Locations", and the latter manage directly the connections. In such a manner that if a pool of connections to a site is needed, the connections will be automatically created (and eliminated) on demand.
And easy "options" system allow changing the behaviour of an object just before it is going to be used or during usage
Support for HTTP 1.1 keep-alive, compression, cookies, authentication (basic and digest) https, redirection, proxy authentication, password management, connect to proxies.
- Author: Daniel Rodriguez
- Documentation: HttxLib package documentation
- Home Page: http://code.google.com/p/httxlib
- Download URL: http://code.google.com/p/httxlib/downloads/list
- Keywords: http https
- License: GPLv3
-
Categories
- Development Status :: 5 - Production/Stable
- Intended Audience :: Developers
- License :: OSI Approved :: GNU General Public License (GPL)
- Programming Language :: Python
- Programming Language :: Python :: 2.6
- Programming Language :: Python :: 2.7
- Topic :: Software Development :: Libraries
- Topic :: System :: Networking
- Package Index Owner: Daniel.Rodriguez
- DOAP record: HttxLib-1.01.xml
