Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python请求上的SSL错误_Python_Ssl_Request - Fatal编程技术网

Python请求上的SSL错误

Python请求上的SSL错误,python,ssl,request,Python,Ssl,Request,我试图使用Python向API发出请求,但遇到了一个SSL错误。我到处都找过,但似乎找不到解决办法 这是我在虚拟环境中安装的版本: Python 2.7.12 (v2.7.12:d33e0cf91556, Jun 26 2016, 12:10:39) [GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin Type "help", "copyright", "credits" or "license" for more information

我试图使用Python向API发出请求,但遇到了一个SSL错误。我到处都找过,但似乎找不到解决办法

这是我在虚拟环境中安装的版本:

Python 2.7.12 (v2.7.12:d33e0cf91556, Jun 26 2016, 12:10:39) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import ssl
>>> ssl.OPENSSL_VERSION
'OpenSSL 0.9.8zg 14 July 2015'
我正在尝试使用在上找到的代码:

这是输出:

Traceback (most recent call last):
  File "/path/to/file", line 23, in <module>
    response = s.get(url)
  File "/Users/rafacarv/Environments/python2_7_12_cmx/venv/lib/python2.7/site-packages/requests/sessions.py", line 487, in get
    return self.request('GET', url, **kwargs)
  File "/Users/rafacarv/Environments/python2_7_12_cmx/venv/lib/python2.7/site-packages/requests/sessions.py", line 475, in request
    resp = self.send(prep, **send_kwargs)
  File "/Users/rafacarv/Environments/python2_7_12_cmx/venv/lib/python2.7/site-packages/requests/sessions.py", line 585, in send
    r = adapter.send(request, **kwargs)
  File "/Users/rafacarv/Environments/python2_7_12_cmx/venv/lib/python2.7/site-packages/requests/adapters.py", line 477, in send
    raise SSLError(e, request=request)
requests.exceptions.SSLError: [SSL: TLSV1_ALERT_PROTOCOL_VERSION] tlsv1 alert protocol version (_ssl.c:590)
回溯(最近一次呼叫最后一次):
文件“/path/to/File”,第23行,在
response=s.get(url)
get中的文件“/Users/rafacarv/Environments/python2_7_12_cmx/venv/lib/python2.7/site packages/requests/sessions.py”,第487行
返回self.request('GET',url,**kwargs)
文件“/Users/rafacarv/Environments/python2_7_12_cmx/venv/lib/python2.7/site packages/requests/sessions.py”,请求中第475行
resp=自我发送(准备,**发送)
文件“/Users/rafacarv/Environments/python2_7_12_cmx/venv/lib/python2.7/site packages/requests/sessions.py”,第585行,在send中
r=适配器.send(请求,**kwargs)
文件“/Users/rafacarv/Environments/python2_7_12_cmx/venv/lib/python2.7/site packages/requests/adapters.py”,第477行,在send中
raise SSLError(e,请求=请求)
requests.exceptions.SSLError:[SSL:TLSV1警报协议版本]TLSV1警报协议版本(_SSL.c:590)
我还尝试使用我在另一个网站上找到的建议,其中包括使用requests\u toolbelt包,但没有成功

如何解决此问题?

msesandbox.cisco.com:8081

此服务器仅支持TLS 1.2,即不支持TLS 1.0或更差版本

“OpenSSL 0.9.8zg 2015年7月14日”


此OpenSSL版本尚不支持TLS 1.2。为此,您至少需要OpenSSL 1.0.1。

谢谢您的回答。如何在虚拟环境中更新它?我正在使用Mac进行编码,稍后我将在Heroku上部署它。@rlc:您需要重新编译所有内容。看见
Traceback (most recent call last):
  File "/path/to/file", line 23, in <module>
    response = s.get(url)
  File "/Users/rafacarv/Environments/python2_7_12_cmx/venv/lib/python2.7/site-packages/requests/sessions.py", line 487, in get
    return self.request('GET', url, **kwargs)
  File "/Users/rafacarv/Environments/python2_7_12_cmx/venv/lib/python2.7/site-packages/requests/sessions.py", line 475, in request
    resp = self.send(prep, **send_kwargs)
  File "/Users/rafacarv/Environments/python2_7_12_cmx/venv/lib/python2.7/site-packages/requests/sessions.py", line 585, in send
    r = adapter.send(request, **kwargs)
  File "/Users/rafacarv/Environments/python2_7_12_cmx/venv/lib/python2.7/site-packages/requests/adapters.py", line 477, in send
    raise SSLError(e, request=request)
requests.exceptions.SSLError: [SSL: TLSV1_ALERT_PROTOCOL_VERSION] tlsv1 alert protocol version (_ssl.c:590)