【Bug】 [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed

当你在进行深度学习相关操作时,若因缺少本地的 CA 证书而无法下载资源,下面为你介绍几种解决办法:

方法一:更新 CA 证书

在大多数 Linux 发行版中,你可以使用包管理器来更新 CA 证书。例如,在基于 Debian 或 Ubuntu 的系统中,你可以运行以下命令:

bash 复制代码
sudo apt-get update
sudo apt-get install --reinstall ca-certificates

在基于 Red Hat 或 CentOS 的系统中,你可以使用以下命令:

bash 复制代码
sudo yum update ca-certificates

方法二:指定 CA 证书路径

在某些深度学习框架或工具中,你可以通过设置环境变量来指定 CA 证书的路径。例如,在 Python 中使用 requests 库时,可以通过设置 REQUESTS_CA_BUNDLE 环境变量来指定 CA 证书的路径:

python 复制代码
import os
import requests

os.environ['REQUESTS_CA_BUNDLE'] = '/path/to/your/cacert.pem'

response = requests.get('https://example.com')
print(response.text)

方法三:临时忽略 SSL 验证(不推荐用于生产环境)

在测试或开发环境中,你可以临时忽略 SSL 验证。但需要注意的是,这种方法存在安全风险,不建议在生产环境中使用。

在 Python 的 requests 库中,可以通过设置 verify=False 来忽略 SSL 验证:

python 复制代码
import requests

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

方法四:手动下载 CA 证书

你可以从 Mozilla 的官方仓库手动下载 CA 证书:

bash 复制代码
wget https://curl.se/ca/cacert.pem

然后将下载的 cacert.pem 文件放置在合适的位置,并按照方法二的步骤指定证书路径。

你可以依据自身的具体状况,选择合适的解决办法。

相关推荐
万年咸鱼1 小时前
WebSocket、Socket 与 HTTP 的区别详解
websocket·网络协议·http
万年咸鱼1 小时前
HTTPS 是如何保证传输安全的?
网络协议·安全·https
隐擎fox2 小时前
深入 Android 移动端风控与协议层对抗:内核级虚拟环境检测、网络堆栈特征伪装与住宅 IP 协同实战
android·网络·python·网络协议·tcp/ip
Da Da 泓2 小时前
[项目] --- 基于websocket的网页五子棋(可多用户)
网络·websocket·网络协议·多线程·项目
步行cgn4 小时前
HTTP 常用请求方法详解
网络·网络协议·http
2501_915909065 小时前
抓包工具断点拦截是什么?如何半路拦截修改 HTTP 请求
网络协议·计算机网络·网络安全·adb·https·udp
壹知6 小时前
三台路由器,一条静态路由都没配错,ping 依然不通
网络协议
智购科技无人售货机工厂7 小时前
MQTT还是HTTP?无人售货机弱网通信协议选型与带宽优化实战~YH
网络·网络协议·http
2401_872418788 小时前
计算机网络——应用层详解:DNS、电子邮件、FTP 与 HTTP 的原理及通信过程
网络协议·计算机网络·http
91刘仁德10 小时前
计算机网络核心协议全解析:从MAC帧到HTTP
linux·网络·网络协议·tcp/ip·计算机网络·http·udp