使用Python的requests库发送HTTPS请求时的SSL证书验证问题

问题描述

使用python的requests库去发送https请求,有时候不设置verify=False不报错,有时候又报错。

问题原因

使用Python的requests库发送HTTPS请求时,设置verify=False参数可以跳过SSL证书验证。默认情况下,requests库会验证SSL证书以确保请求的安全性。然而,在某些情况下,可能会出现以下几种情况:

1、证书验证错误:如果服务端的SSL证书无效或无法验证,requests库会抛出requests.exceptions.SSLError异常。在这种情况下,您需要确保服务端的SSL证书是有效的,并且在客户端进行验证。

2、CA证书根目录缺失:如果您使用的是自签名证书或者是不受常规CA(Certificate Authority)信任的证书,requests库会抛出requests.exceptions.SSLError异常。为了解决这个问题,您可以通过将CA证书根目录(如.pem文件)添加到requests库的verify参数中,来进行自定义证书验证。

3、代理问题:如果您通过代理服务器发送请求,可能会导致请求的SSL证书验证失败。此时,您可以尝试在代理服务器上禁用SSL证书验证,或者在requests库中设置verify=False参数来跳过验证。

请注意,在安全的生产环境中,强烈建议启用SSL证书验证,以确保通信的安全性。只有在开发和测试阶段,或者确认服务端证书有效的情况下,才应该考虑使用verify=False来跳过SSL验证。

相关推荐
敲键盘的小夜猫12 分钟前
Python核心数据类型全解析:字符串、列表、元组、字典与集合
开发语言·python
apcipot_rain1 小时前
【应用密码学】实验五 公钥密码2——ECC
前端·数据库·python
小彭律师1 小时前
门禁人脸识别系统详细技术文档
笔记·python
鸿业远图科技2 小时前
分式注记种表达方式arcgis
python·arcgis
别让别人觉得你做不到3 小时前
Python(1) 做一个随机数的游戏
python
小彭律师4 小时前
人脸识别门禁系统技术文档
python
程序员拂雨6 小时前
HTTP和HTTPS模块
http·https·node.js
张小九996 小时前
PyTorch的dataloader制作自定义数据集
人工智能·pytorch·python
zstar-_6 小时前
FreeTex v0.2.0:功能升级/支持Mac
人工智能·python·macos·llm
苏生要努力6 小时前
第九届御网杯网络安全大赛初赛WP
linux·python·网络安全