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

相关推荐
㳺三才人子2 分钟前
初探 Data Analysis - Matplotlib
python·plotly·pandas·matplotlib
Python私教12 分钟前
0、null、未采集:AI Agent 反馈系统最容易踩的语义坑
人工智能·python
聚美智数21 分钟前
SSL证书信息查询-SSL域名解析-SSL证书查询服务-SSL证书解析服务API接口介绍
网络·网络协议·ssl
北斗落凡尘21 分钟前
LangGraph 入门实战(5)
python·langchain
Python私教31 分钟前
请求超时不等于失败:把写操作恢复设计成事实回读
后端·python
且听风吟022039 分钟前
7.包管理工具
python
冰夏之夜影39 分钟前
【解决方案】SpringBoot项目添加ssl证书后不生效问题
spring boot·后端·ssl
程序员杰哥1 小时前
依赖于第三方接口时,如何进行测试?
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·接口测试
java修仙传1 小时前
从网页禅道到 AI 能调用的工具:我的禅道 MCP 实现思路分享
java·人工智能·python·ai应用·mcp开发
reasonsummer1 小时前
【办公类-120-01】20260812闵行区幼儿园概况表的数据统计(户籍、五类性质、优抚子女)
前端·python