Python 2.7.10上的SSL库不包含PROTOCOL_TLSv1_2,并且升级SSL库导致错误

时间:2015-08-14 00:56:45

标签: python-2.7

尝试使用ssl.PROTOCOL_TLSv1_2使用Python 2.X发出TLS1.2 HTTPS请求。

在这个帖子(Sending TLS 1.2 request in Python 2.6)中建议我需要从Python 2.7.6切换到2.7.10,然后使用ssl库。

不幸的是,在切换到Python 2.7.10之后,我无法访问ssl.PROTOCOL_TLSv1_2(显然我无法发布图片)。

我很确定我使用的是Python 2.7.10,因为当我激活我的虚拟环境并从命令行调用Python时,我看到:

Python 2.7.10 (v2.7.10:15c95b7d81dc, May 23 2015, 09:33:12) [GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin Type "help", "copyright", "credits" or "license" for more information.

我想也许问题是ssl库已经过时了,这就是我在尝试pip install ssl --upgrade

时所看到的

Collecting ssl Using cached ssl-1.16.tar.gz Complete output from command python setup.py egg_info: Traceback (most recent call last): File "<string>", line 20, in <module> File "/private/var/folders/xl/nl55_c357zd2gqs09wfwytvh0000gn/T/pip-build-tn97bV/ssl/setup.py", line 12, in <module> + "or earlier.") ValueError: This extension should not be used with Python 2.6 or later (already built in), and has not been tested with Python 2.3.4 or earlier.

2 个答案:

答案 0 :(得分:1)

我使用的是python2.7.10。我将我的env改为python2.7.13,它使用最新版本的ssl解决了这个问题。感谢。

答案 1 :(得分:0)

面临同样的问题。尝试用ssl.PROTOCOL_TLSv1替换。

还要确保您的SSL版本为&gt; = 1.0.1。

它对我有用。