Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/323.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
使用TLS 1.2时出现Python SSL错误_Python_Ssl_Python Requests - Fatal编程技术网

使用TLS 1.2时出现Python SSL错误

使用TLS 1.2时出现Python SSL错误,python,ssl,python-requests,Python,Ssl,Python Requests,我正在尝试连接到一个站点,该站点使用Python3.5中的reqests包使用TLS1.2。在Chrome中,我得到警告,网站的证书链至少包含一个使用SHA-1签名的证书 我得到以下错误: Traceback (most recent call last): File "<ipython-input-51-e43bc1030cea>", line 1, in <module> f = s.get(url) File "C:\Anaconda3\lib\

我正在尝试连接到一个站点,该站点使用Python3.5中的reqests包使用TLS1.2。在Chrome中,我得到警告,网站的证书链至少包含一个使用SHA-1签名的证书

我得到以下错误:

Traceback (most recent call last):

  File "<ipython-input-51-e43bc1030cea>", line 1, in <module>
    f = s.get(url)

  File "C:\Anaconda3\lib\site-packages\requests\sessions.py", line 480, in get
    return self.request('GET', url, **kwargs)

  File "C:\Anaconda3\lib\site-packages\requests\sessions.py", line 468, in request
    resp = self.send(prep, **send_kwargs)

  File "C:\Anaconda3\lib\site-packages\requests\sessions.py", line 576, in send
    r = adapter.send(request, **kwargs)

  File "C:\Anaconda3\lib\site-packages\requests\adapters.py", line 433, in send
    raise SSLError(e, request=request)

SSLError: EOF occurred in violation of protocol (_ssl.c:646)
Requests版本为2.8.1,Python版本为Python 3.5.0::Anaconda 2.4.0 64位

有没有人知道如何解决这个问题,或者遇到过类似的问题?
我已经尝试通过强制TLS版本连接到站点,方法是在形成请求包的贡献者之一之后,但我仍然收到sam错误。现在不能升级站点上的证书。

这可能不是证书的问题,因为python不强制执行sha-256。服务器的关闭表示服务器不喜欢客户端发送的内容,通常是TLS协议版本或客户端提供的密码集。一个常见的问题是没有密码重叠,因为服务器只希望使用不安全的密码,如RC4-SHA,而客户端不提供这些密码。在当前版本的请求中,默认情况下禁用RC4-SHA。请尝试中的提示。

谢谢您的建议。我尝试了那个解决方案,但仍然得到同样的错误。不过Curl的效果很好。我还验证了该站点确实有“使用TLS\u RSA\u和\u RC4\u 128\u SHA的SSL连接”@datarup:调试SSL问题很困难,因为除了另一方关闭连接之外,一方通常不会获得太多信息。但是,如果它与curl一起工作,您可能会尝试进行数据包捕获,并比较成功连接和失败连接的SSL握手。或者,如果该网站是公开的,你可以发布URL,这样可以帮助你了解发生了什么。