首页 > 编程语言 >python3 SSLCertVerificationError 研究结论

python3 SSLCertVerificationError 研究结论

时间:2024-09-27 21:02:49浏览次数:10  
标签:结论 SSLCertVerificationError CA charles 代理 BUNDLE pem requests python3

上一篇博客已经分析ssl流程,这次直接说报错的结果方法:

对于pip3 安装第三方包失败:

1. 建议直接退出代理charles

2. 命令行前输入: 

export REQUESTS_CA_BUNDLE=~/Documents/charles-ssl-proxying-certificate.pem
, 然后执行pip3命令。  这个文件pem可以使用charles导出   如果需要代理, 也不行输入,就把这个文件写入.zshrc文件吧。   然后source ~/.zshrc   对于自己写的代码: 1. 不退出代理:  requests.get('https://www.baidu.com',verify=False) 2. 不退出代理:requests.get('https://www.baidu.com',verify="~/Documents/charles-ssl-proxying-certificate.pem") 3. 不退出代理:检查代理是否存在,如果存在,那么设置环境变量:
 1 import requests
 2 import os
 3 
 4 if requests.utils.getproxies():
 5     # 设置环境变量 REQUESTS_CA_BUNDLE
 6     os.environ['REQUESTS_CA_BUNDLE'] = '/path/Documents/charles-ssl-proxying-certificate.pem'
 7 
 8 print(requests.certs.where())
 9 # 发起请求
10 response = requests.get('https://www.baidu.com')
11 
12 # 打印响应内容
13 print(response.text)

4. 退出charles代理

5. 执行脚本前动态设置REQUESTS_CA_BUNDLE或者CURL_CA_BUNDLE

 

总结:

说了这么多方法, 如果开了代理,其实就一个点,一定要让ca_certs有值,  上面说的环境变量和verify目的都是为了ca_certs有值。或者不验证。注意:这里的不验证其实也是要验证的,

不过用系统默认的设置的证书。 默认证书:/usr/local/etc/openssl@3/cert.pem。    charles 设置代理 restore default会重置这个值

 

目前符合我的方式,我自己将这个变量REQUESTS_CA_BUNDLE写入了.zshrc文件了, 这样以后不管pip还是python3执行,不管有没有代理,都OK!这一点我感觉非常好!一劳永逸!

 

 

 

标签:结论,SSLCertVerificationError,CA,charles,代理,BUNDLE,pem,requests,python3
From: https://www.cnblogs.com/dzqdzq/p/18436545

相关文章

  • 对oceans_of_stars的T3爆标做法的基础结论的证明
    我们要证明的结论如下:\(x\)在\([1,x-1]\)中选取父亲,以这种方法构造树,节点\(x\)在其子树大小为\(i\)时的方案数为\(\binom{n-i-1}{x-2}\)。对于组合数有一个众所周知的结论:\[C_n^m=C_n^{n-m}\]然后把上面的选式转化一下,得到:\(\binom{n-i-1}{n-i-x+1}\)。还是组合数......
  • python3 numpy的一些小知识点
    简介一个用python实现的科学计算,包括:1、一个强大的N维数组对象Array;2、比较成熟的(广播)函数库;3、用于整合C/C++和Fortran代码的工具包;4、实用的线性代数、傅里叶变换和随机数生成函数。numpy和稀疏矩阵运算包scipy配合使用更加方便。NumPy(NumericPython)提供了许多高级的数值......
  • macos python3.12解决pip3安装报错(error: externally-managed-environment)
    故障现象为提示error:externally-managed-environment➜~pip3installrequestserror:externally-managed-environment×Thisenvironmentisexternallymanaged╰─>ToinstallPythonpackagessystem-wide,trybrewinstallxyz,wherexyzisthepackagey......
  • 莫比乌斯反演常用结论
    符号规约\([A]\),艾弗森括号,其中\(A\)为命题,若\(A\)为真,则该式值为\(1\),否则为\(0\)。常见积性函数单位函数:\(\large{e(n)=[n=1]}\)幂函数:\(\large\operatorname{Id}_k(n)=n^k\)常数函数:\(\large{1(n)=1}\)因数个数:\(\large\operatorname{d}(n)=\sum\limits_{d\midn}1......
  • 20个Python3实战项目代码,让你分分钟晋级大神!
    “读”代码是不能给你带来任何收益的,正如“读书”一样,如果在读的时候你不琢磨,保管你读完仨月准忘了一大半。真正需要的是去“试”代码,动手去调调代码,改改这改改那,看看把A变成B这个代码的结果会有什么变化。高效学习源代码的步骤:1.运行程序,观察表现2.运行源码,断点调试,从头跟......
  • 2024 Python3.10 系统入门+进阶(十五):文件及目录操作
    目录一、文件IO操作1.1创建或打开文件1.2读取文件1.2.1按行读取1.2.2多行读取1.2.3完整读取1.3写入文件1.3.1写入字符串1.3.2写入序列1.4上下文管理1.4.1with语句的使用1.4.2上下文管理器(拓展----可以学了面向对象之后再回来看)1.5文件的遍历二、os.pat......
  • 业务初识-思考问题-分析数据-输出结论
    思考问题:确认问题(目的(明确程度,原因是解决还是什么),背景,思路)检测数据完善性拆解问题-经典分析框架-搭建自己的分析框架sg:拆解问题总结:一个原则四个方法MECE法则:拆解部分要相互独立、完全穷尽时间流程法、模型框架法、量化公式法、穷尽要素法时间流程法:最常用,根据时间......
  • centos7下安装Python3.7
    centos7默认安装的是python2.7,然而python2基本上要淘汰了,所以有必要安装最新的python3python,g++这些工具一般安装在/usr/bin目录里通过指令llpython*可以看到python指向的是python2.7我们要安装python3,使python指向python3下面开始具体步骤(参考其他大佬的方法,也是学了......
  • Python3 学习笔记6-os 模块、错误和异常、面向对象编程、类的专有方法、命名空间和作
    目录一、os模块: 常用方法: 二、错误和异常:(1)语法错误:(2)异常:(3)异常处理:(4)抛出异常:(5)用户自定义异常:(6)清理行为:(7)with语句:三、面向对象编程: (1)类和对象:(2)继承:(3)封装:(4)多态:(5)运算符重载: 四、类的专有方法:(1)__init__(self,...):(2)__del__(self):(3)__repr__(self):(4)__set......
  • Ubantu和Centos7一键shell更换镜像源与Linux系统Python3环境安装
    目录前言1.一键更换源1.1创建文件1.2向环境赋予可执行的权限 2.Linux系统配置Python3环境2.1查看当前python环境2.2更换源 2.3安装所需的依赖2.4.下载python环境文件2.5.解压文件2.6进行编译2.7 开始安装2.8 设置软连接2.9测试是否安装成功前言......