欢迎访问LCE的博客,为你分享产品、技术、设计方面的作品实践和心得。

python requests错误:(SSLError(“bad handshake: Error([(‘SSL routines’, ‘ssl3_get_record’, ‘wrong version number’)],)”,),)) 的解决办法

默认 lce 11个月前 (11-28) 2162次浏览 已收录 0个评论 扫描二维码

python requests 通过代理方式请求 https 网站时,出现错误:

(SSLError("bad handshake: Error([('SSL routines', 'ssl3_get_record', 'wrong version number')],)",),))

网上大部分解决办法都是无效的,不过还是找到了一篇靠谱的:https://blog.csdn.net/qq_37049050/article/details/76649005

也就是说 https 网站所用的 SSL 协议版本太低,而 python 解释器所用的 SSL 协议版本高于 https 网站所用的 SSL 协议版本,所以出现问题。

解决办法就是手动配置 python,使 requests 选择更低版本的 SSL 协议。

首先在 python 脚本开头引入 SSL 适配器,如下:

from requests_toolbelt import SSLAdapter

然后加载低版本的 SSL 协议,如下:

self.session.mount(‘https://’, SSLAdapter(‘TLSv1’))


LCE的博客 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:python requests错误:(SSLError(“bad handshake: Error([(‘SSL routines’, ‘ssl3_get_record’, ‘wrong version number’)],)”,),)) 的解决办法
喜欢 (0)
[liuchn@vip.qq.com]
分享 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址