• 技术文章 >常见问题 >Python常见问题

    python ssl报错怎么解决

    silencementsilencement2019-09-29 13:34:23原创3563

    Python2.7.9 之后,当使用urllib.urlopen打开一个 https 链接时,会验证一次 SSL 证书。而当目标网站使用的是自签名的证书时就会抛出如下异常:

    <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:777)>

    解决办法如下

    1,方案一

    使用ssl创建未经验证的上下文,在urlopen中传入上下文参数:

    import ssl 
    context = ssl._create_unverified_context()
    urllib.request.urlopen(req,context=context)

    2,方案二

    全局取消证书验证:

    import ssl
     
    ssl._create_default_https_context = ssl._create_unverified_context
    urllib2.urlopen("https://www.12306.cn/mormhweb/").read()

    3,方案三

    使用的是requests模块,将方法中的verify设置位False即可:

    requests.get(url, headers=Hostreferer,verify=False)
    专题推荐:ssl
    上一篇:python中数据类型如何进行转换 下一篇:python3.4.1怎么安装

    相关文章推荐

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网