使用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验证。

相关推荐
小智RE0-走在路上11 小时前
Python学习笔记(6)--列表,元组,字符串,序列切片
笔记·python·学习
feeday11 小时前
Python 删除重复图片 优化版
开发语言·python
ss27311 小时前
Java线程池全解:工作原理、参数调优
java·linux·python
于是我说11 小时前
一份Python 面试常见问题清单 覆盖从初级到高级
开发语言·python·面试
BoBoZz1911 小时前
RotationAroundLine 模型的旋转
python·vtk·图形渲染·图形处理
Kurbaneli11 小时前
Python金融数据分析革命:Mootdx让通达信数据获取变得如此简单
python
吧啦蹦吧11 小时前
`org.springframework.util.ClassUtils#forName
开发语言·python
倔强的小石头_11 小时前
Python 从入门到实战(十):Pandas 数据处理(高效搞定表格数据的 “瑞士军刀”)
人工智能·python·pandas
Together_CZ12 小时前
DarkIR: Robust Low-Light Image Restoration——鲁棒的低光照图像复原
python·image·robust·darkir·鲁棒的低光照图像复原·low-light·restoration
拾贰_C12 小时前
【python | pytorch | scipy】scipy scikit-learn库相互依赖?
pytorch·python·scipy