ndg-httpsclient


Namendg-httpsclient JSON
Version 0.5.1 PyPI version JSON
download
home_pagehttps://github.com/cedadev/ndg_httpsclient/
SummaryProvides enhanced HTTPS support for httplib and urllib2 using PyOpenSSL
upload_time2018-07-23 16:02:43
maintainer
docs_urlhttps://pythonhosted.org/ndg-httpsclient/
authorRichard Wilkinson and Philip Kershaw
requires_python
licenseBSD - See ndg/httpsclient/LICENCE file for details
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI
coveralls test coverage No coveralls.
            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
-----
 * Fix to ``ndg`` namespace package warning issue (https://github.com/cedadev/ndg_httpsclient/issues/3).  
   ``__init__.py`` file now included in ``ndg`` directory 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 for ``pyasn1`` to avoid conflicts with Ubuntu
   install - see https://github.com/cedadev/ndg_httpsclient/issues/5 and
   https://github.com/cedadev/ndg_httpsclient/pull/10.  ``pyasn1`` also becomes mandatory rather
   than optional package for install.  - It required by ``cryptography`` anyway which is a 
   dependency for ``pyOpenSSL`` from version 0.14.

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.
  

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/cedadev/ndg_httpsclient/",
    "name": "ndg-httpsclient",
    "maintainer": "",
    "docs_url": "https://pythonhosted.org/ndg-httpsclient/",
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "",
    "author": "Richard Wilkinson and Philip Kershaw",
    "author_email": "Philip.Kershaw@stfc.ac.uk",
    "download_url": "https://files.pythonhosted.org/packages/b9/f8/8f49278581cb848fb710a362bfc3028262a82044167684fb64ad068dbf92/ndg_httpsclient-0.5.1.tar.gz",
    "platform": "",
    "description": "A HTTPS client implementation for \n * ``httplib`` (Python 2), ``http.client`` (Python 3) and \n * ``urllib2`` (Python 2) and ``urllib`` (Python 3)\n\n... based on PyOpenSSL.  PyOpenSSL provides a more fully featured SSL implementation \nover the default provided with Python and importantly enables full verification \nof the SSL peer using ``pyasn1``.\n\nReleases\n========\n0.5.1\n-----\n * Clean up handling for description file - pull in content from this file into setup()\n * Allows the nightly build to fail\n * Add Trove version classifiers to make it explicit what is supported\n * Add python_requires to help pip\n * Drop support for EOL Python 2.6 and 3.3  \n  \nThanks to @hugovk for contributions\n\n0.5.0\n-----\n * Fix to Subject Alternative Name handling to allow for certificates with\n   more than 64 names (max now 1024).  Thanks to Matt Pegler\n * Fix to subjectAltName string to use byte type for correct matching \n * Updated SSL Context objects to default to TLS 1.2\n\n0.4.4\n-----\n * Updated test certificates\n\n0.4.3\n-----\n * Fix to ``ndg`` namespace package warning issue (https://github.com/cedadev/ndg_httpsclient/issues/3).  \n   ``__init__.py`` file now included in ``ndg`` directory so that there are no longer warnings with imports\n   when using Python 2.x.  Thanks to Max Mauntner for fix.\n * Minor fix for installation: set minimum release for ``pyasn1`` to avoid conflicts with Ubuntu\n   install - see https://github.com/cedadev/ndg_httpsclient/issues/5 and\n   https://github.com/cedadev/ndg_httpsclient/pull/10.  ``pyasn1`` also becomes mandatory rather\n   than optional package for install.  - It required by ``cryptography`` anyway which is a \n   dependency for ``pyOpenSSL`` from version 0.14.\n\n0.4.2\n-----\n * Fix to bug in ``ndg.httpsclient.utils.open_url`` - duplicate open call.  \n   Nb. This bug and the fix DO NOT affect the ``httplib``and ``urllib2`` \n   interfaces that this package provides.\n \n0.4.1\n-----\n * Added explicit ref to Python 3 in classifier text for Python 3 checking tools.\n * Moved LICENSE file into package\n\n0.4.0\n-----\n * Made dual compatible with Python 2 / 3.\n \n0.3.3\n-----\n * Fix to add in AnotherName for ``subjectAltNames`` field - added for support for CACert issued\n   certs (thanks to Gu1).\n * Fix to HTTP Basic Auth option for ``ndg.httpsclient.utils.main``\n * 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.\n\n0.3.2\n-----\n * Fix to SubjectAltNames support check - should only be enabled if pyasn1 is \n   installed.\n * Fix to open_url: HTTP Request object was being created inside if headers is \n   None block - now corrected to create regardless.\n * Added http basic auth support to script. (Thanks to Willem van Engen)\n \n0.3.1\n-----\n * extended utils functions to support keyword for passing additional ``urllib2``\n   handlers.\n\n0.3.0\n-----\n * Added ``ndg.httpsclient.utils.fetch_stream_from_url`` function and added\n   parameter for data to post in ``open_url`` and ``fetch_*`` methods.\n * fix to ndg.httpsclient.utils module _should_use_proxy and open_url functions\n\n0.2.0\n-----\n * added support for SSL verification with subjectAltNames using pyasn1\n * fixed minor bug - SSL cert DN prefix matching\n\n0.1.0\n-----\nInitial release\n\nPrerequisites\n=============\nThis has been developed and tested for Python 2.7 with pyOpenSSL 0.13 \nand 0.14.  Version 0.4.0 tested with ``pyOpenSSL`` 0.15.1 and Python 2.7 and \n3.4. \n``pyasn1`` is required for correct SSL verification with ``subjectAltNames``.\n\nInstallation\n============\nInstallation can be performed using ``easy_install`` or ``pip``.\n\nRunning ndg_httpclient\n======================\nA simple script for fetching data using HTTP or HTTPS GET from a specified URL.\n\nParameter:\n\n``url``\n  The URL of the resource to be fetched\n\nOptions:\n\n``-h, --help``\n  Show help message and exit.\n\n``-c FILE, --certificate=FILE``\n  Certificate file - defaults to ``$HOME/credentials.pem``\n\n``-k FILE, --private-key=FILE``\n  Private key file - defaults to the certificate file\n\n``-t DIR, --ca-certificate-dir=DIR``\n  Trusted CA certificate file directory.\n\n``-d, --debug``\n  Print debug information - this may be useful in solving problems with HTTP or \n  HTTPS access to a server.\n    \n``-p FILE, --post-data-file=FILE``\n  POST data file\n    \n``-f FILE, --fetch=FILE``\n  Output file\n    \n``-n, --no-verify-peer``\n  Skip verification of peer certificate.\n  \n",
    "bugtrack_url": null,
    "license": "BSD - See ndg/httpsclient/LICENCE file for details",
    "summary": "Provides enhanced HTTPS support for httplib and urllib2 using PyOpenSSL",
    "version": "0.5.1",
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "md5": "016bb0a094a1ec05139c06be1ce95871",
                "sha256": "d2c7225f6a1c6cf698af4ebc962da70178a99bcde24ee6d1961c4f3338130d57"
            },
            "downloads": -1,
            "filename": "ndg_httpsclient-0.5.1-py2-none-any.whl",
            "has_sig": false,
            "md5_digest": "016bb0a094a1ec05139c06be1ce95871",
            "packagetype": "bdist_wheel",
            "python_version": "2.7",
            "requires_python": null,
            "size": 30783,
            "upload_time": "2018-07-23T16:07:02",
            "upload_time_iso_8601": "2018-07-23T16:07:02.319675Z",
            "url": "https://files.pythonhosted.org/packages/bf/b2/26470fde7ff55169df8e071fb42cb1f83e22bd952520ab2b5c5a5edc2acd/ndg_httpsclient-0.5.1-py2-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "8eead8842864e716df797f602e07784a",
                "sha256": "dd174c11d971b6244a891f7be2b32ca9853d3797a72edb34fa5d7b07d8fff7d4"
            },
            "downloads": -1,
            "filename": "ndg_httpsclient-0.5.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "8eead8842864e716df797f602e07784a",
            "packagetype": "bdist_wheel",
            "python_version": "3.6",
            "requires_python": null,
            "size": 34042,
            "upload_time": "2018-07-23T16:04:46",
            "upload_time_iso_8601": "2018-07-23T16:04:46.553622Z",
            "url": "https://files.pythonhosted.org/packages/fb/67/c2f508c00ed2a6911541494504b7cac16fe0b0473912568df65fd1801132/ndg_httpsclient-0.5.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "b0fc8ea38f87d2c1ab1ed79a95c078f9",
                "sha256": "d72faed0376ab039736c2ba12e30695e2788c4aa569c9c3e3d72131de2592210"
            },
            "downloads": -1,
            "filename": "ndg_httpsclient-0.5.1.tar.gz",
            "has_sig": false,
            "md5_digest": "b0fc8ea38f87d2c1ab1ed79a95c078f9",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 26665,
            "upload_time": "2018-07-23T16:02:43",
            "upload_time_iso_8601": "2018-07-23T16:02:43.960636Z",
            "url": "https://files.pythonhosted.org/packages/b9/f8/8f49278581cb848fb710a362bfc3028262a82044167684fb64ad068dbf92/ndg_httpsclient-0.5.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2018-07-23 16:02:43",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "github_user": "cedadev",
    "github_project": "ndg_httpsclient",
    "travis_ci": true,
    "coveralls": false,
    "github_actions": false,
    "lcname": "ndg-httpsclient"
}
        
Elapsed time: 0.01659s