Package: ndg-httpsclient
A HTTPS client implementation forhttplib(Python 2),http.client(Python 3) andurllib2(Python 2) andurllib(Python 3)… 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 usingpyasn1.Releases0.5.1Clean up handling for description file - pull in content from this file into setup()Allows the nightly build to failAdd Trove version classifiers to make it explicit what is supportedAdd python_requires to help pipDrop support for EOL Python 2.6 and 3.3Thanks to @hugovk for contributions0.5.0Fix to Subject Alternative Name handling to allow for certificates with
more than 64 names (max now 1024).  Thanks to Matt PeglerFix to subjectAltName string to use byte type for correct matchingUpdated SSL Context objects to default to TLS 1.20.4.4Updated test certificates0.4.3Fix tondgnamespace package warning issue (https://github.com/cedadev/ndg_httpsclient/issues/3).__init__.pyfile now included inndgdirectory so that there are no longer warnings with imports
when using Python 2.x.  Thanks to Max Mauntner for fix.Minor fix for installation: set minimum release forpyasn1to avoid conflicts with Ubuntu
install - seehttps://github.com/cedadev/ndg_httpsclient/issues/5andhttps://github.com/cedadev/ndg_httpsclient/pull/10.pyasn1also becomes mandatory rather
than optional package for install.  - It required bycryptographyanyway which is a
dependency forpyOpenSSLfrom version 0.14.0.4.2Fix to bug inndg.httpsclient.utils.open_url- duplicate open call.
Nb. This bug and the fix DO NOT affect thehttplib``and``urllib2interfaces that this package provides.0.4.1Added explicit ref to Python 3 in classifier text for Python 3 checking tools.Moved LICENSE file into package0.4.0Made dual compatible with Python 2 / 3.0.3.3Fix to add in AnotherName forsubjectAltNamesfield - added for support for CACert issued
certs (thanks to Gu1).Fix to HTTP Basic Auth option forndg.httpsclient.utils.mainFix toServerSSLCertVerificationso 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.2Fix 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.1extended utils functions to support keyword for passing additionalurllib2handlers.0.3.0Addedndg.httpsclient.utils.fetch_stream_from_urlfunction and added
parameter for data to post inopen_urlandfetch_*methods.fix to ndg.httpsclient.utils module _should_use_proxy and open_url functions0.2.0added support for SSL verification with subjectAltNames using pyasn1fixed minor bug - SSL cert DN prefix matching0.1.0Initial releasePrerequisitesThis has been developed and tested for Python 2.7 with pyOpenSSL 0.13
and 0.14.  Version 0.4.0 tested withpyOpenSSL0.15.1 and Python 2.7 and
3.4.pyasn1is required for correct SSL verification withsubjectAltNames.InstallationInstallation can be performed usingeasy_installorpip.Running ndg_httpclientA simple script for fetching data using HTTP or HTTPS GET from a specified URL.Parameter:urlThe URL of the resource to be fetchedOptions:-h,--helpShow help message and exit.-cFILE,--certificate=FILECertificate file - defaults to$HOME/credentials.pem-kFILE,--private-key=FILEPrivate key file - defaults to the certificate file-tDIR,--ca-certificate-dir=DIRTrusted CA certificate file directory.-d,--debugPrint debug information - this may be useful in solving problems with HTTP or
HTTPS access to a server.-pFILE,--post-data-file=FILEPOST data file-fFILE,--fetch=FILEOutput file-n,--no-verify-peerSkip verification of peer certificate.