Skip to main content
A HTTPS client implementation for
  • httplib (Python 2), http.client (Python 3) and

  • urllib2 (Python 2) and urllib (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 using pyasn1.

Releases

0.5.1

  • Clean up handling for description file - pull in content from this file into setup()

  • Allows the nightly build to fail

  • Add Trove version classifiers to make it explicit what is supported

  • Add python_requires to help pip

  • Drop support for EOL Python 2.6 and 3.3

Thanks to @hugovk for contributions

0.5.0

  • Fix to Subject Alternative Name handling to allow for certificates with more than 64 names (max now 1024). Thanks to Matt Pegler

  • Fix to subjectAltName string to use byte type for correct matching

  • Updated SSL Context objects to default to TLS 1.2

0.4.4

  • Updated test certificates

0.4.3

0.4.2

  • Fix to bug in ndg.httpsclient.utils.open_url - duplicate open call. Nb. This bug and the fix DO NOT affect the httplib``and ``urllib2 interfaces that this package provides.

0.4.1

  • Added explicit ref to Python 3 in classifier text for Python 3 checking tools.

  • Moved LICENSE file into package

0.4.0

  • Made dual compatible with Python 2 / 3.

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.7 with pyOpenSSL 0.13 and 0.14. Version 0.4.0 tested with pyOpenSSL 0.15.1 and Python 2.7 and 3.4. 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.

Metadata

Release files for ndg-httpsclient 0.5.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ndg-httpsclient 0.5.1
File Size Uploaded
ndg_httpsclient-0.5.1.tar.gz 26.7 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for ndg-httpsclient 0.5.1
File Interpreter ABI Platform
ndg_httpsclient-0.5.1-py3-none-any.whl Python 3 none any Details
ndg_httpsclient-0.5.1-py2-none-any.whl Python 2 none any Details

Total release size: 91.5 kB

Release files / ndg_httpsclient-0.5.1.tar.gz

Download URL ndg_httpsclient-0.5.1.tar.gz
Size 26.7 kB
Tags Source
SHA-256 checksum
How to use checksums
d72faed0376ab039736c2ba12e30695e2788c4aa569c9c3e3d72131de2592210
BLAKE2b-256 checksum
How to use checksums
b9f88f49278581cb848fb710a362bfc3028262a82044167684fb64ad068dbf92
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / ndg_httpsclient-0.5.1-py3-none-any.whl

Download URL ndg_httpsclient-0.5.1-py3-none-any.whl
Size 34.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
dd174c11d971b6244a891f7be2b32ca9853d3797a72edb34fa5d7b07d8fff7d4
BLAKE2b-256 checksum
How to use checksums
fb67c2f508c00ed2a6911541494504b7cac16fe0b0473912568df65fd1801132
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / ndg_httpsclient-0.5.1-py2-none-any.whl

Download URL ndg_httpsclient-0.5.1-py2-none-any.whl
Size 30.8 kB
Tags Python 2
SHA-256 checksum
How to use checksums
d2c7225f6a1c6cf698af4ebc962da70178a99bcde24ee6d1961c4f3338130d57
BLAKE2b-256 checksum
How to use checksums
bfb226470fde7ff55169df8e071fb42cb1f83e22bd952520ab2b5c5a5edc2acd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.5.1 This release

3 release files

0.5.0

3 release files

0.4.4

3 release files

0.4.3

3 release files

0.4.2

1 release file

0.4.1

1 release file

0.4.0

1 release file

0.3.3

2 release files

0.3.2

3 release files

0.3.1

3 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

3 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page