一图看懂 certifi 模块:证书路径, 资料整理+笔记(大全)

本文由 大侠(AhcaoZhu)原创,转载请声明。
链接: https://blog.csdn.net/Ahcao2008

Alt

摘要

全文介绍系统内置 certifi 模块、函数、类及类的方法和属性。
它通过代码抓取并经AI智能翻译和人工校对。
是一部不可多得的权威字典类工具书。它是系列集的一部分。后续陆续发布、敬请关注。【原创:AhcaoZhu大侠】

模块图及类关系图

因过于简单,所以合并成一图了。
certifi-mod-class

certifi
	certifi.core
		◆sys

类关系图

◆object
	◆_frozen_importlib.BuiltinImporter

模块全展开

【certifi】

certifi, fullname=certifi, file=site-packages\certifi_init_.py

统计

序号 类别 数量
4 str 5
6 list 2
8 dict 1
9 module 1
11 function 2
13 residual 3
14 system 11
16 all 14

常量

模块

1 certifi.core

core, fullname=certifi.core, file=certifi\core.py

certifi.py
该模块返回 cacert.pem 的安装位置或其内容。

函数

2 contents() -> str

contents() -> str, module=certifi.core, line:76 at site-packages\certifi\core.py

3 where() -> str

where() -> str, module=certifi.core, line:51 at site-packages\certifi\core.py

这稍有点可怕,但我们希望在zipimport的情况下延迟提取文件,直到有人真正调用where(),
但我们不想在每次调用where()时都重新提取文件,所以我们只做一次,然后将其存储在一个全局变量中。

当 _CACERT_PATH 为 None 时:
这个importlib稍微有点繁琐。
资源API希望你管理这个文件的清理,所以它实际上不返回路径,它返回一个上下文管理器,
它会在你进入路径时给你路径并在你离开它时做任何清理。
在不需要临时文件的常见情况下,它将只返回文件系统位置,并且__exit__()是无操作的。
我们还需要保留实际的上下文管理器,因为它会在垃圾收集时进行清理,所以我们也会将它存储在全局级别。

当版本低于 3.7 时:
此回退将适用于缺乏importlib.resources模块但依赖于现有'where'函数的3.7之前的Python版本,
因此不会解决PyOxidizer等未在模块上设置__file__的环境变量的问题。
如果我们没有importlib.resources,那么我们将使用旧的逻辑,假设我们在文件系统上并直接修改路径。

【certifi.core】

core, fullname=certifi.core, file=certifi\core.py

【sys】

sys, fullname=sys

猜你喜欢

转载自blog.csdn.net/Ahcao2008/article/details/130389429