欢迎光临lce.cc,我是一名技术出身的互联网产品经理和创业者,对产品、运营、设计、建筑、互联网、路由器、区块链等领域都有较深入的研究,对历史、哲学、心理学、政治也比较感兴趣,欢迎同样有兴趣的一起交流。我的邮箱:a#lce.cc

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

默认 lce 30℃ 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’))

转载请注明:长风破浪会有时,直挂云帆济沧海 » python requests错误:(SSLError(“bad handshake: Error([(‘SSL routines’, ‘ssl3_get_record’, ‘wrong version number’)],)”,),)) 的解决办法

喜欢 (0)or分享 (0)
发表我的评论
取消评论

表情

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

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