为httplib和urllib2提供增强的HTTPS支持,使用PyOpenSSL
项目描述
- 为
httplib(Python 2)、http.client(Python 3)以及
urllib2(Python 2)和urllib(Python 3)提供HTTPS客户端实现
… 基于 PyOpenSSL。PyOpenSSL 提供了比 Python 默认提供的更全面的 SSL 实现,并且最重要的是,可以使用 pyasn1 完全验证 SSL 对端。
发行版
0.5.1
清理描述文件的处理 - 将此文件的内容拉入 setup() 中
允许夜间构建失败
添加 Trove 版本分类器,使其明确支持的内容
添加 python_requires 以帮助 pip
停止支持已过时的 Python 2.6 和 3.3
感谢 @hugovk 的贡献
0.5.0
修复了主题备用名称处理,以允许具有超过 64 个名称的证书(现在最大为 1024)。感谢 Matt Pegler
修复了 subjectAltName 字符串,以使用字节类型进行正确匹配
将SSL上下文对象更新为默认使用TLS 1.2
0.4.4
更新了测试证书
0.4.3
修复了 ndg 命名空间包警告问题(见 https://github.com/cedadev/ndg_httpsclient/issues/3)。现在 __init__.py 文件包含在 ndg 目录中,因此在使用 Python 2.x 时不再出现导入警告。感谢 Max Mauntner 的修复。
安装方面的微小修复:将 pyasn1 的最低版本设置为避免与 Ubuntu 安装冲突 - 请参阅 https://github.com/cedadev/ndg_httpsclient/issues/5 和 https://github.com/cedadev/ndg_httpsclient/pull/10。现在 pyasn1 成为安装的必需包而不是可选包。 - 因为它是 cryptography 的依赖项,而 cryptography 是从版本 0.14 开始的 pyOpenSSL 的依赖项。
0.4.2
修复了 ndg.httpsclient.utils.open_url 中的错误 - 重复的打开调用。注意,此错误和修复不会影响此包提供的 httplib 和 urllib2 接口。
0.4.1
在分类器文本中明确引用了Python 3,以便进行Python 3检查工具的检查。
将 LICENSE 文件移动到包中
0.4.0
使代码与 Python 2 和 3 双兼容。
0.3.3
修复了添加到 subjectAltNames 字段的 AnotherName - 添加以支持由 CACert 签发的证书(感谢 Gu1)。
修复了 ndg.httpsclient.utils.main 的 HTTP Basic Auth 选项
修复了 ServerSSLCertVerification,使其能够传递基于函数的回调而不是使用 __call__。在新版本的 OpenSSL(>= 0.14)中,后者因请求 __name__ 属性而失败。
0.3.2
修复了 SubjectAltNames 支持检查 - 只有在安装了 pyasn1 时才应启用。
修复了 open_url:HTTP 请求对象在 if headers is None 块内部创建 - 现在已更正为无论是否创建。
将 http basic auth 支持添加到脚本中。(感谢 Willem van Engen)
0.3.1
扩展了 utils 函数以支持传递附加 urllib2 处理器的关键字。
0.3.0
添加了 ndg.httpsclient.utils.fetch_stream_from_url 函数,并在 open_url 和 fetch_* 方法中添加了用于发布数据的参数。
修复了 ndg.httpsclient.utils 模块中的 _should_use_proxy 和 open_url 函数
0.2.0
添加了对使用 pyasn1 进行 SSL 验证的支持
修复了小错误 - SSL 证书 DN 前缀匹配
0.1.0
初始发布
先决条件
此软件已针对 Python 2.7、pyOpenSSL 0.13 和 0.14 进行开发和测试。版本 0.4.0 与 pyOpenSSL 0.15.1 和 Python 2.7 及 3.4 进行了测试。pyasn1 对于使用 subjectAltNames 正确进行 SSL 验证是必需的。
安装
可以使用 easy_install 或 pip 执行安装。
运行 ndg_httpclient
一个简单的脚本,用于从指定的 URL 使用 HTTP 或 HTTPS GET 获取数据。
参数
- url
要获取的资源 URL
选项
- -h, --help
显示帮助信息并退出。
- -c FILE, --certificate=FILE
证书文件 - 默认为 $HOME/credentials.pem
- -k FILE, --private-key=FILE
私钥文件 - 默认与证书文件相同
- -t DIR, --ca-certificate-dir=DIR
受信任的 CA 证书文件目录。
- -d, --debug
打印调试信息 - 这可能有助于解决与服务器进行 HTTP 或 HTTPS 访问时的问题。
- -p FILE, --post-data-file=FILE
POST数据文件
- -f FILE, --fetch=FILE
输出文件
- -n, --no-verify-peer
跳过对对等证书的验证。
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源分布
构建分布
ndg_httpsclient-0.5.1.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | d72faed0376ab039736c2ba12e30695e2788c4aa569c9c3e3d72131de2592210 |
|
MD5 | b0fc8ea38f87d2c1ab1ed79a95c078f9 |
|
BLAKE2b-256 | b9f88f49278581cb848fb710a362bfc3028262a82044167684fb64ad068dbf92 |
ndg_httpsclient-0.5.1-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | dd174c11d971b6244a891f7be2b32ca9853d3797a72edb34fa5d7b07d8fff7d4 |
|
MD5 | 8eead8842864e716df797f602e07784a |
|
BLAKE2b-256 | fb67c2f508c00ed2a6911541494504b7cac16fe0b0473912568df65fd1801132 |
ndg_httpsclient-0.5.1-py2-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | d2c7225f6a1c6cf698af4ebc962da70178a99bcde24ee6d1961c4f3338130d57 |
|
MD5 | 016bb0a094a1ec05139c06be1ce95871 |
|
BLAKE2b-256 | bfb226470fde7ff55169df8e071fb42cb1f83e22bd952520ab2b5c5a5edc2acd |