博客
关于我
Python url请求提示certificate verify failed unable to get local issuer certificate
阅读量:799 次
发布时间:2023-03-06

本文共 1035 字,大约阅读时间需要 3 分钟。

在Python中使用requests.get获取HTTPS链接时解决SSL证书验证失败问题

当尝试使用requests.get获取HTTPS链接时,可能会遇到以下错误:

ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1056)

这个错误提示表示SSL证书验证失败,通常是因为无法获取本地证书颁发机构(CA)的证书。这种情况下,最简单的解决方法是直接设置verify=False参数:

requests.get('https://example.com', verify=False)

关于SSL验证的详细说明

  • Python版本要求:请确保你使用的requests库版本支持SSL验证。从requests版本3.0开始,默认启用了SSL验证。

  • CA证书问题:如果你在特定环境中遇到证书验证失败,可能是因为本地缺少可信的证书颁发机构(CA)证书。这种情况下,你需要安装正确的CA证书包,或者在代码中禁用验证。

  • 环境配置:在某些环境中,尤其是虚拟机或容器中,证书颁发机构可能需要手动配置。

  • 如何临时禁用SSL验证

    如果你不想深入配置证书颁发机构,可以简单地在requests.get中添加verify=False参数:

    import requestsresponse = requests.get('https://example.com', verify=False)response.status_code

    这种方法虽然简单,但不建议在生产环境中长期使用。对于开发和测试环境,这是一个非常方便的解决方案。

    注意事项

    • 生产环境中使用:在生产环境中,强烈建议配置正确的CA证书,而不是直接禁用验证。
    • 依赖管理:确保certifi库已经安装,因为requests依赖certifi来处理SSL验证。
    • 测试环境配置:在测试环境中,可以手动设置os.environ['HTTPS_CA_CERTIFICATES'] = '/path/to/cacert.pem',以测试是否存在证书问题。

    通过以上方法,你可以快速解决requests.get在HTTPS链接时的证书验证失败问题。如果问题依然存在,请仔细检查CA证书配置,并确保所有相关的依赖已正确安装。

    转载地址:http://xrafk.baihongyu.com/

    你可能感兴趣的文章
    Python 入门开发学习笔记之数据的增删改查
    查看>>
    Python 入门教程(2)搭建环境 2.4、VSCode配置Node.js运行环境
    查看>>
    Python 八大排序算法合集
    查看>>
    python 关于epoll的学习
    查看>>
    Python 内存管理
    查看>>
    Python 内嵌函数:它们有什么用处?
    查看>>
    Python 内置 sum 函数 vs. for 循环性能
    查看>>
    python 内置slice的用法
    查看>>
    Python 内置时间模块
    查看>>
    python 内部如何实现命名元组?
    查看>>
    Python 写Android App性能:入门到高级
    查看>>
    python 写入json数据到数据库
    查看>>
    Python 出现 TypeError: ‘encoding‘ is an invalid keyword argument for this function 解决方法
    查看>>
    python 出现 TypeError: ‘list‘ object is not callable 的解决方法
    查看>>
    python 函数1
    查看>>
    python 函数学习
    查看>>
    Python 函数随笔 map()函数,lambda自定义函数
    查看>>
    Python 分析天气,告诉你中秋应该去哪里
    查看>>
    python 列表中dict中key排序
    查看>>
    python 列表函数
    查看>>