解决requests 2.28.x版本SSL错误:证书验证失败

1、问题背景

在使用requests 2.28.1版本时,我进行HTTP post传输报告负载时,由于SSL验证设置为True,请求失败,错误如下:(Caused by SSLError(SSLCertVerificationError(1, ‘[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1091)’)))。但是,当我将requests模块降级到2.27.1版本时,它能够成功工作。问题在于为什么2.27版本的请求能够成功,而2.28.1版本的请求会出现错误。可能是什么原因导致requests选择SSL证书的方式发生了变化?

在这里插入图片描述

2、解决方案

针对此问题,有一些可能的解决方案可以尝试,以解决SSL证书验证失败的问题:

a、检查系统证书:

首先,您可以检查系统上安装的SSL证书。SSL证书通常位于操作系统的特定位置,不同操作系统可能有不同的存储位置。确保这些证书存在并且没有过期。如果您发现证书不存在或已过期,您可以尝试重新安装或更新这些证书。这有助于确保requests模块能够正确识别本地颁发者证书。

b、更新CA证书包:

有时候,SSL证书问题可能是由于操作系统的CA证书包过时而引起的。您可以尝试更新操作系统的CA证书包,以确保其中包含了最新的根证书和中间证书。这可以通过操作系统的包管理器或手动下载更新证书包来完成。

c、检查requests模块设置:

确保您的requests模块的SSL验证设置正确。在2.28.x版本中,可能对SSL验证的默认行为进行了一些更改。您可以通过设置requests的SSL验证参数来强制进行证书验证或禁用它,具体取决于您的需求。例如,您可以使用以下代码来禁用SSL验证:

import requests

requests.packages.urllib3.disable_warnings()
response = requests.get('https://example.com', verify=False)

请注意,禁用SSL验证可能会降低安全性,只在确定请求目标是可信的情况下使用。

d、考虑使用其他库或工具:

如果以上解决方案都无法解决问题,您可以考虑使用其他HTTP请求库或工具,以避免出现此SSL证书验证问题。例如,您可以尝试使用http.clienturllib来进行HTTP请求,或者使用更高级的HTTP库,如httpx。不同的库可能对SSL验证有不同的实现方式,可能适用于您的情况。

最终,通过尝试以上解决方案中的一种或多种,您应该能够解决requests 2.28.x版本中的SSL错误问题,并成功发起HTTP post请求。确保在做出任何更改之前备份您的代码,并谨慎测试以确保安全性和稳定性。希望这些解决方案能够帮助您解决您的问题!如果您有任何进一步的疑问或需要更多帮助,请随时提出。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/156315.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

邀请报名|11月24日阿里云原生 Serverless 技术实践营 深圳站

活动简介 “阿里云云原生 Serverless 技术实践营 ” 是一场以 Serverless 为主题的开发者活动,活动受众以关注 Serverless 技术的开发者、企业决策人、云原生领域创业者为主,活动形式为演讲、动手实操,让开发者通过一个下午的时间增进对 Ser…

高项备考葵花宝典-项目整合管理输入、输出、工具和技术

项目整合管理包括识别、定义、组合、统一和协调项目管理过程组的各个过程和项目管理活动。在项目管理中,整合管理兼具统一、合并、沟通和建立联系的性质,项目整合管理贯穿项目始终。 目录 一、项目整合管理输入、输出、工具和技术 1.1 制定项目章程 1…

7.docker运行redis容器

1.准备redis的配置文件 从上一篇运行MySQL容器我们知道,需要给容器挂载数据卷,来持久化数据和配置,相应的redis也不例外。这里我们以redis6.0.8为例来实际说明下。 1.1 查找redis的配置文件redis.conf 下面这个网址有各种版本的配置文件供…

【教3妹学编程-算法题】最大和查询

3妹:2哥,你有没有看到新闻“18岁父亲为4岁儿子落户现身亲子鉴定” 2哥 : 啥?18岁就当爹啦? 3妹:确切的说是14岁好吧。 2哥 : 哎,想我30了, 还是个单身狗。 3妹:别急啊, 2…

智慧校园电子班牌 智能互联家校互通源码 springboot

利用先进的云计算技术,将教育信息化资源和教学管理系统进行有效整合,实现生态基础数据共享、应用生态统一管理,为智慧教育建设的统一性,稳定性,可扩展性,互通性提供保障的智慧教育一体化云解决方案。 在大数…

内网穿透(frp和proxychains4)

一、准备工作 需要三台机器,去哦这里准备的是win7(目标主机),kali(攻击者),红帽(跳板) 攻击机(kali):192.168.10.15 跳板机&#xff0…

护眼台灯选购注意事项?考公专用护眼台灯推荐

随着科技的发展和进步,台灯的外观也不在和以往一般笨重,而是变得越来越美观,而且也更方便了,功能也越来越多元化了。台灯作为现在我们日常学习、阅读、办公必备的一盏照明灯具,其光源的舒适度是非常重要的。那么挑选台…

word文档转换为ppt文件,怎么做?

大家是否会遇到需要将word文档转换为ppt文件的情况?除了反反复复粘贴复制以外,还有其他方法可以转换文件格式,今天给大家分享word转换ppt方法。 首先我们先将word文件打开大纲模式 然后我们将文中的大标题设置为1级标题,副标题设…

idea 环境搭建及运行java后端源码

1、 idea 历史版本下载及安装 建议下载和我一样的版本,2020.3 https://www.jetbrains.com/idea/download/other.html,idea分为专业版本(Ultimate)和社区版本(Community),前期可以下载专业版本…

Modbus转Profinet网关在大型挤压涂布机应用配置案例

变频器和伺服电机是常用于工业生产线的电力传动设备。它们的功能是根据不同的控制信号调整电机的运行状态,实现对生产线速度和精度的精确控制。通过PLC与兴达易控Modbus转Profinet网关(XD-MDPN100)的连接,变频器和伺服电机可以与P…

Windows环境VSCode配置OpenCV-环境搭建(一)

软件准备 OpenCV cmake MinGW-W64 MinGW-W64要下载 否则后面编译出错&#xff1a; D:/openCV_win/opencv/sources/modules/core/include/opencv2/core/utility.hpp:719:29: error: Mutex is not a member of cvtypedef std::lock_guard<cv::Mutex> AutoLock;^~~~~D:/…

vue 城市选择器的使用 element-china-area-data

一、Element UI 中国省市区级联数据 本文参考&#xff1a;element-china-area-data - npm 1. 安装 npm install element-china-area-data -S2. 使用 import { provinceAndCityData, regionData, provinceAndCityDataPlus, regionDataPlus, CodeToText, TextToCode } from e…

jetson nano的tensorrt加速部署

实验平台参数 jetack在线OTA升级指令 $ sudo vi /etc/apt/sources.list.d/nvidia-l4t-apt-source.list修改其apt源文件即可,即可可以参考上一篇文章 一,查看相应的包版本 1,jetpack版本查看 🔔sudo apt-cache show nvidia-jetpack 后面我进行了OTA在线升级,升级到4.…

智能电网故障模拟柜的应用背景

随着科技的不断发展&#xff0c;智能电网已经成为了现代电力系统的重要组成部分&#xff0c;智能电网通过集成先进的信息技术、通信技术和自动化技术&#xff0c;实现了电力系统的优化调度、高效运行和可靠供电。智能电网在提高电力系统性能的同时&#xff0c;也面临着更多的挑…

Airtest:各平台的剪切板功能汇总

1. 前言 一直以来&#xff0c;大家都还挺关注 Airtest是否有剪切板功能 的。从Airtest1.3.1版本起&#xff0c;我们新增了Android、iOS设备的剪切板功能&#xff0c;自此&#xff0c;3大平台的剪切板功能就齐全啦。 正好趁这个机会&#xff0c;我们给各大平台的剪切板功能做个…

HTTP Error 500.31 - Failed to load ASP.NET Core runtime

在winserver服务器上部署net6应用后&#xff0c;访问接口得到以下提示&#xff1a; 原因是因为没有安装net6的运行时和环境&#xff0c;我们可以在windows自带的 “事件查看器” 查看原因。 可以直接根据给出的地址去官网下载sdk环境&#xff0c;安装即可 下载对应的net版本…

OmniGraffle Pro v7.22.3(流程图UML图)

OmniGraffle Pro是一款非常棒的绘图软件&#xff0c;具有多种功能&#xff0c;包括&#xff1a; 绘制图表&#xff1a;OmniGraffle Pro可以创建各种类型的图表&#xff0c;包括流程图、组织图、UML图、网络图等等。它还支持导入和导出多种文件格式&#xff0c;如PDF、SVG、Vis…

小程序商城免费搭建之java商城 电子商务Spring Cloud+Spring Boot+二次开发+mybatis+MQ+VR全景+b2b2c

1. 涉及平台 平台管理、商家端&#xff08;PC端、手机端&#xff09;、买家平台&#xff08;H5/公众号、小程序、APP端&#xff08;IOS/Android&#xff09;、微服务平台&#xff08;业务服务&#xff09; 2. 核心架构 Spring Cloud、Spring Boot、Mybatis、Redis 3. 前端框架…

阿桂天山的小工具:我将16个Excel文件中31万多条数据拆分成318个文件

1.话不多说,先上图看效果 2.技术说明及实用源码 2.1)pythonflaskpandas , 由于我的开发环境版本问题,为了能读xls,xlsx,但又不想升级,只能通过xlrd 1.2.0读取xls,xlsx文件再转换成dict字典格式,再通过 data pd.DataFrame(dict_data)实现类型转换 2.2)实用代码,保证不丢任何一行…

一个美观且功能丰富的 .NET 控制台应用程序开源库

推荐一个美观且功能丰富的 .NET 控制台应用程序开源库&#xff0c;从此告别黑漆漆的界面。 01 项目简介 Spectre.Console 是一个开源的 .NET 库&#xff0c;用于创建美观、功能丰富的控制台&#xff08;命令行&#xff09;应用程序。它提供了一组易于使用的 API&#xff0c;…