解决Python中出现[SSL:SSLV3_ALERT_HANDSHAKE_FAILURE]报错解决

  在使用Python编程的过程中,经常性的会遇到各种各样的问题,比如代码报错,代码出现bug等问题,一旦出现问题的话,找解决办法还是需要费很长的时间的,下面小编就给大家介绍下,遇到一些问题该怎么去进行解决。

  报错[SSL:SSLV3_ALERT_HANDSHAKE_FAILURE]

  问题描述

  pandas读取网络表格时

 

pd.read_excel(url)

  报错urllib.error.URLError:<urlopenerror[SSL:SSLV3_ALERT_HANDSHAKE_FAILURE]sslv3alerthandshakefailure(_ssl.c:1123)>

  原因分析

  查看报错信息

0.png

  发现pandas读取url数据时,使用的urllib.request.urlopen方法

1.png

  查阅资料,报错原因是当目标网站使用的是自签名的证书时便会抛出此错误

  解决方案

  在Lib\site-packages\pandas\io\common.py文件中,也就是上述文件中的头部添加如下代码,全局取消证书验证。

  importssl
  ssl._create_default_https_context=ssl._create_unverified_context

  如果是虚拟环境,找对应的目录下的文件修改。

  pythonrequestssslv3alerthandshakefailure

  使用requests访问速卖通https网址时总是报:

  SSLError:[Errno1]_ssl.c:499:error:14077410:SSLroutines:SSL23_GET_SERVER_HELLO:sslv3alerthandshakefailure

  解决方案

  在python开头加:

 importrequests.packages.urllib3.util.ssl_
  requests.packages.urllib3.util.ssl_.DEFAULT_CIPHERS='ALL'

  据说是SSLv3存在安全问题

  以上就是小编的一些总结,希望可以给大家带来更多的帮助。

原创文章,作者:网友投稿,如若转载,请注明出处:https://www.cloudads.cn/archives/3910.html

发表评论

登录后才能评论