Skip to main content

Provides enhanced HTTPS support for httplib and urllib2 using PyOpenSSL

Project description

This is a HTTPS client implementation for httplib and urllib2 based on
PyOpenSSL. PyOpenSSL provides a more fully featured SSL implementation over the
default provided with Python and importantly enables full verification of the
SSL peer.

Releases
========
0.3.3
-----
* Fix to add in AnotherName for ``subjectAltNames`` field - added for support for CACert issued
certs (thanks to Gu1).
* Fix to HTTP Basic Auth option for ``ndg.httpsclient.utils.main``
* Fix to ``ServerSSLCertVerification`` so that it can pass a function-based callback instead of using ``__call__``. In newer versions of OpenSSL (>= 0.14) the latter failed because of a request for ``__name__`` attribute.

0.3.2
-----
* Fix to SubjectAltNames support check - should only be enabled if pyasn1 is
installed.
* Fix to open_url: HTTP Request object was being created inside if headers is
None block - now corrected to create regardless.
* Added http basic auth support to script. (Thanks to Willem van Engen)

0.3.1
-----
* extended utils functions to support keyword for passing additional urllib2
handlers.

0.3.0
-----
* Added ndg.httpsclient.utils.fetch_stream_from_url function and added
parameter for data to post in open_url and fetch_* methods.
* fix to ndg.httpsclient.utils module _should_use_proxy and open_url functions

0.2.0
-----
* added support for SSL verification with subjectAltNames using pyasn1
* fixed minor bug - SSL cert DN prefix matching

0.1.0
-----
Initial release

Prerequisites
=============
This has been developed and tested for Python 2.6 and 2.7 with pyOpenSSL 0.13 and 0.14.
Note that proxy support is only available from Python 2.6.2 onwards. pyasn1 is
required for correct SSL verification with subjectAltNames.

Installation
============
Installation can be performed using easy_install or pip.

Running ndg_httpclient
======================
A simple script for fetching data using HTTP or HTTPS GET from a specified URL.

Parameter:

``url``
The URL of the resource to be fetched

Options:

``-h, --help``
Show help message and exit.

``-c FILE, --certificate=FILE``
Certificate file - defaults to ``$HOME/credentials.pem``

``-k FILE, --private-key=FILE``
Private key file - defaults to the certificate file

``-t DIR, --ca-certificate-dir=DIR``
Trusted CA certificate file directory.

``-d, --debug``
Print debug information - this may be useful in solving problems with HTTP or
HTTPS access to a server.

``-p FILE, --post-data-file=FILE``
POST data file

``-f FILE, --fetch=FILE``
Output file

``-n, --no-verify-peer``
Skip verification of peer certificate.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ndg_httpsclient-0.3.3.tar.gz (21.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ndg_httpsclient-0.3.3-py2.7.egg (55.5 kB view details)

Uploaded Egg

File details

Details for the file ndg_httpsclient-0.3.3.tar.gz.

File metadata

File hashes

Hashes for ndg_httpsclient-0.3.3.tar.gz
Algorithm Hash digest
SHA256 7b9601225d2f530663567d03326f28f22a4a6423e56ac1812d61fd20412633f2
MD5 c05794017dedee47b297185d82ef795e
BLAKE2b-256 0058677c56417d20a787d25a7a80c1af9c75049e9303c1edf8fee420ffb89aad

See more details on using hashes here.

File details

Details for the file ndg_httpsclient-0.3.3-py2.7.egg.

File metadata

File hashes

Hashes for ndg_httpsclient-0.3.3-py2.7.egg
Algorithm Hash digest
SHA256 05f6dc3e100a64fba07dd7dd520fa5ea43e9b95e9284ee759c83374f8a9dc759
MD5 bc4bf26af313070c5c62676f81f52723
BLAKE2b-256 03939897ed7abff760984c4d7df626f13a954fdd2acd29bc605e167e6a7b7b49

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page