一图看懂 itsdangerous 模块:将受信任的数据传递到不受信任的环境的帮助工具,资料整理+笔记(大全)

news2024/12/24 9:28:21

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

Alt

一图看懂 itsdangerous 模块:将受信任的数据传递到不受信任的环境的帮助工具,资料整理+笔记(大全)

  • 🧊摘要
  • 🧊模块图
  • 🧊类关系图
  • 🧊模块全展开
    • ☘️【itsdangerous】
    • 🔵统计
    • 🔵模块
      • 🌿1 itsdangerous.exc
      • 🌿2 itsdangerous.encoding
      • 🌿3 itsdangerous.signer
      • 🌿4 itsdangerous.serializer
      • 🌿5 itsdangerous.timed
      • 🌿6 itsdangerous._json
      • 🌿7 itsdangerous.url_safe
    • 🔵函数
      • 🌿8 base64_decode(string: Union[str, bytes]) -> bytes
      • 🌿9 base64_encode(string: Union[str, bytes]) -> bytes
      • 🌿10 want_bytes(s: Union[str, bytes], encoding: str = 'utf-8', errors: str = 'strict') -> bytes
    • 🔵类
      • 🌿11 itsdangerous.exc.BadData
      • 🌿12 itsdangerous.exc.BadHeader
      • 🌿13 itsdangerous.exc.BadPayload
      • 🌿14 itsdangerous.exc.BadSignature
      • 🌿15 itsdangerous.exc.BadTimeSignature
      • 🌿16 itsdangerous.exc.SignatureExpired
      • 🌿17 itsdangerous.serializer.Serializer
        • data
        • property
        • method
        • 5 dump(self, obj: _t.Any, f: _t.IO, salt: _t_opt_str_bytes = None) -> None:
        • 6 dump_payload(self, obj: _t.Any) -> bytes:
        • 7 dumps(self, obj: _t.Any, salt: _t_opt_str_bytes = None) -> _t_str_bytes:
        • 8 iter_unsigners(self, salt: _t_opt_str_bytes = None) -> _t.Iterator[Signer]:
        • 9 load(self, f: _t.IO, salt: _t_opt_str_bytes = None) -> _t.Any:
        • 10 load_payload(
        • 11 load_unsafe(self, f: _t.IO, salt: _t_opt_str_bytes = None) -> _t_load_unsafe:
        • 12 loads(
        • 13 loads_unsafe(
        • 14 make_signer(self, salt: _t_opt_str_bytes = None) -> Signer:
      • 🌿18 itsdangerous.signer.HMACAlgorithm
        • method
        • 1 get_signature(self, key: bytes, value: bytes) -> bytes:
        • static method
        • 2 default_digest_method()
      • 🌿19 itsdangerous.signer.NoneAlgorithm
        • method
        • 1 get_signature(self, key: bytes, value: bytes) -> bytes:
      • 🌿20 itsdangerous.signer.Signer
        • data
        • property
        • method
        • 3 derive_key(self, secret_key: _t_opt_str_bytes = None) -> bytes:
        • 4 get_signature(self, value: _t_str_bytes) -> bytes:
        • 5 sign(self, value: _t_str_bytes) -> bytes:
        • 6 unsign(self, signed_value: _t_str_bytes) -> bytes:
        • 7 validate(self, signed_value: _t_str_bytes) -> bool:
        • 8 verify_signature(self, value: _t_str_bytes, sig: _t_str_bytes) -> bool:
        • static method
        • 9 default_digest_method()
      • 🌿21 itsdangerous.timed.TimedSerializer
        • data
        • method
        • 2 iter_unsigners(
        • 3 loads(
        • 4 loads_unsafe(
      • 🌿22 itsdangerous.timed.TimestampSigner
        • method
        • 1 get_timestamp(self) -> int:
        • 2 sign(self, value: _t_str_bytes) -> bytes:
        • 3 timestamp_to_datetime(self, ts: int) -> datetime:
        • 4 unsign(
        • 5 validate(self, signed_value: _t_str_bytes, max_age: _t_opt_int = None) -> bool:
      • 🌿23 itsdangerous.url_safe.URLSafeSerializer
      • 🌿24 itsdangerous.url_safe.URLSafeTimedSerializer
    • 🔵私有或局部
    • ☘️【itsdangerous.exc】
    • ☘️【itsdangerous.encoding】
    • ☘️【itsdangerous.signer】
    • ☘️【itsdangerous.serializer】
    • ☘️【itsdangerous.timed】
    • ☘️【itsdangerous._json】
    • ☘️【itsdangerous.url_safe】
    • ☘️【typing】
    • ☘️【base64】
    • ☘️【string】
    • ☘️【struct】
    • ☘️【hashlib】
    • ☘️【hmac】
    • ☘️【json】
    • ☘️【time】
    • ☘️【zlib】

🧊摘要

  • 全文介绍python的 itsdangerous 模块(将受信任的数据传递到不受信任的环境的帮助工具)、函数、类及类的方法和属性。
  • 它通过代码抓取并经AI智能翻译和人工校对。
  • 是一部不可多得的权威字典类工具书。它是系列集的一部分。后续陆续发布、敬请关注。【原创:AhcaoZhu大侠】

🧊模块图

itsdangerous-module

itsdangerous
	itsdangerous.exc
	itsdangerous.encoding
		◆base64
	itsdangerous.signer
		◆hmac
	itsdangerous.serializer
	itsdangerous.timed
	itsdangerous._json
	itsdangerous.url_safe

🧊类关系图

itsdangerous-class

◆object
	◆BaseException
		◆Exception
			itsdangerous.exc.BadData
				itsdangerous.exc.BadPayload
				itsdangerous.exc.BadSignature
					itsdangerous.exc.BadHeader
					itsdangerous.exc.BadTimeSignature
						itsdangerous.exc.SignatureExpired
	itsdangerous._json._CompactJSON
	itsdangerous.serializer.Serializer
		itsdangerous.timed.TimedSerializer
			itsdangerous.url_safe.URLSafeSerializerMixin
				itsdangerous.url_safe.URLSafeSerializer
				itsdangerous.url_safe.URLSafeTimedSerializer
		itsdangerous.url_safe.URLSafeSerializerMixin
	itsdangerous.signer.Signer
		itsdangerous.timed.TimestampSigner
	itsdangerous.signer.SigningAlgorithm
		itsdangerous.signer.HMACAlgorithm
		itsdangerous.signer.NoneAlgorithm

🧊模块全展开

☘️【itsdangerous】

itsdangerous, fullname=itsdangerous, file=itsdangerous_init_.py

🔵统计

序号类别数量
4str5
6list1
8dict1
9module7
10class14
11function3
13residual3
14system10
15private1
16all34

🔵模块

🌿1 itsdangerous.exc

exc, fullname=itsdangerous.exc, file=itsdangerous\exc.py

🌿2 itsdangerous.encoding

encoding, fullname=itsdangerous.encoding, file=itsdangerous\encoding.py

🌿3 itsdangerous.signer

signer, fullname=itsdangerous.signer, file=itsdangerous\signer.py

🌿4 itsdangerous.serializer

serializer, fullname=itsdangerous.serializer, file=itsdangerous\serializer.py

🌿5 itsdangerous.timed

timed, fullname=itsdangerous.timed, file=itsdangerous\timed.py

🌿6 itsdangerous._json

_json, fullname=itsdangerous._json, file=itsdangerous_json.py

🌿7 itsdangerous.url_safe

url_safe, fullname=itsdangerous.url_safe, file=itsdangerous\url_safe.py

🔵函数

🌿8 base64_decode(string: Union[str, bytes]) -> bytes

base64_decode(string: Union[str, bytes]) -> bytes, module=itsdangerous.encoding, line:28 at site-packages\itsdangerous\encoding.py

Base64解码url安全的字节或文本字符串。结果是字节。

🌿9 base64_encode(string: Union[str, bytes]) -> bytes

base64_encode(string: Union[str, bytes]) -> bytes, module=itsdangerous.encoding, line:20 at site-packages\itsdangerous\encoding.py

Base64编码一串字节或文本。生成的字节可以安全地用于url。

🌿10 want_bytes(s: Union[str, bytes], encoding: str = ‘utf-8’, errors: str = ‘strict’) -> bytes

want_bytes(s: Union[str, bytes], encoding: str = ‘utf-8’, errors: str = ‘strict’) -> bytes, module=itsdangerous.encoding, line:11 at site-packages\itsdangerous\encoding.py

🔵类

🌿11 itsdangerous.exc.BadData

BadData, itsdangerous.exc.BadData, module=itsdangerous.exc, line:8 at site-packages\itsdangerous\exc.py

如果遇到任何类型的坏数据将被引发。
    这是ItsDangerous定义的所有异常的基础。
    版本: 0.15

🌿12 itsdangerous.exc.BadHeader

BadHeader, itsdangerous.exc.BadHeader, module=itsdangerous.exc, line:67 at site-packages\itsdangerous\exc.py

如果带符号的标头在某种形式下无效,将被引发。
    这只会发生在带有签名头的序列化器上。
    版本: 0.24

🌿13 itsdangerous.exc.BadPayload

BadPayload, itsdangerous.exc.BadPayload, module=itsdangerous.exc, line:93 at site-packages\itsdangerous\exc.py

如果有效载荷无效将被引发。
    如果在无效签名的情况下加载了有效负载,或者序列化器和反序列化器之间不匹配,则可能发生这种情况。
    在加载过程中发生的原始异常被存储为 :attr:`original_error`。
    版本: 0.15

🌿14 itsdangerous.exc.BadSignature

BadSignature, itsdangerous.exc.BadSignature, module=itsdangerous.exc, line:23 at site-packages\itsdangerous\exc.py

如果签名不匹配将被引发。

🌿15 itsdangerous.exc.BadTimeSignature

BadTimeSignature, itsdangerous.exc.BadTimeSignature, module=itsdangerous.exc, line:37 at site-packages\itsdangerous\exc.py

如果基于时间的签名无效将被引发。这是 :class:`BadSignature` 的子类。

🌿16 itsdangerous.exc.SignatureExpired

SignatureExpired, itsdangerous.exc.SignatureExpired, module=itsdangerous.exc, line:61 at site-packages\itsdangerous\exc.py

如果签名时间戳大于 ``max_age`` 将被引发。这是 :exc:`BadTimeSignature` 的子类。

🌿17 itsdangerous.serializer.Serializer

Serializer, itsdangerous.serializer.Serializer, module=itsdangerous.serializer, line:25 at site-packages\itsdangerous\serializer.py

序列化器包装一个 :class:`~itsdangerous.signer.Signer`。
    启用序列化和安全地签名字节以外的数据。它可以取消签名以验证数据没有被更改。
    序列化器提供 :meth:`dumps` 和 :meth:`loads`,类似于 :mod:`json`,默认情况下在内部使用 :mod:`json`将数据序列化为字节。
    密钥应该是一个随机的“字节”字符串,不应该保存到代码或版本控制中。在不同的语境中,应该使用不同的盐来区分手语。
    有关密钥和salt的安全性的信息,请参阅 :doc:`/concepts`。
    :param secret_key: 签名和验证的秘钥。可以是一个键列表,从旧的到最新的,支持键轮换。
    :param salt: 与 ``secret_key`` 组合的额外密钥,以区分不同上下文中的签名。
    :param serializer: 一个对象,提供 ``dumps`` 和 ``loads``方法,用于将数据序列化为字符串。默认为 :attr:`default_serializer`, 默认为 :mod:`json`。
    :param serializer_kwargs: 调用``serializer.dumps``时要传递的关键字参数。
    :param signer: 一个 ``Signer``类, 在签名数据时要实例化的。默认为:`default_signer`, 默认为:class:`~itsdangerous.signer.Signer`。
    :param signer_kwargs: 实例化``Signer``类时要传递的关键字参数。
    :param fallback_signers: 使用默认签名者取消签名失败时要尝试的签名者参数列表。每个项可以是 ``signer_kwargs``, 一个类,或列表``(signer, signer_kwargs)``.默认为:attr:`default_fallback_signers`。
    版本: 2.0
        增加了通过传递一个列表给``secret_key``
    版本: 2.0
        从``default_fallback_signers``中删除了默认的SHA-512回退签名人。
    版本: 1.1
        增加了对 ``fallback_signers`` 的支持,并配置了默认的SHA-512回退。这个后退是为使用1.0.0版本的用户提供的,该版本默认为SHA-512。
    版本: 0.14
        ``signer`` 和 ``signer_kwargs`` 参数被添加到构造函数中。

data

1 default_fallback_signers=[] kind:data type:list class:<class ‘itsdangerous.serializer.Serializer’>
2 default_serializer=<module ‘json’ from ‘…\lib\json\init.py’> kind:data type:module class:<class ‘itsdangerous.serializer.Serializer’>
3 default_signer=<class ‘itsdangerous.signer.Signer’> kind:data type:type class:<class ‘itsdangerous.serializer.Serializer’>

property

4 secret_key=<property object at 0x0000020CD8357138> kind:property type:property class:<class ‘itsdangerous.serializer.Serializer’>

method

5 dump(self, obj: _t.Any, f: _t.IO, salt: _t_opt_str_bytes = None) -> None:

kind=method class=Serializer objtype=function line:215 at …\lib\site-packages\itsdangerous\serializer.py

比如:meth:`dumps`,但是转储到一个文件中。文件句柄必须与内部序列化器所期望的兼容。

6 dump_payload(self, obj: _t.Any) -> bytes:

kind=method class=Serializer objtype=function line:164 at …\lib\site-packages\itsdangerous\serializer.py

转储已编码的对象。返回值总是字节。如果内部序列化器返回文本,则该值将被编码为UTF-8。

7 dumps(self, obj: _t.Any, salt: _t_opt_str_bytes = None) -> _t_str_bytes:

kind=method class=Serializer objtype=function line:202 at …\lib\site-packages\itsdangerous\serializer.py

返回用内部序列化器序列化的带符号字符串。
    返回值可以是字节或unicode字符串,具体取决于内部序列化器的格式。

8 iter_unsigners(self, salt: _t_opt_str_bytes = None) -> _t.Iterator[Signer]:

kind=method class=Serializer objtype=function line:180 at …\lib\site-packages\itsdangerous\serializer.py

遍历要尝试取消签名的所有签名者。
    从配置的签名者开始,然后构造 ``fallback_signers`` 中指定的每个签名者。

9 load(self, f: _t.IO, salt: _t_opt_str_bytes = None) -> _t.Any:

kind=method class=Serializer objtype=function line:238 at …\lib\site-packages\itsdangerous\serializer.py

像 :meth:`loads` 一样,但是是从文件加载的。

10 load_payload(

kind=method class=Serializer objtype=function line:137 at …\lib\site-packages\itsdangerous\serializer.py

加载已编码的对象。
    这个函数引发 :class:`.BadPayload`,如果有效载荷无效。
    ``serializer``参数可用于覆盖存储在类上的序列化器。编码的``payload``应该始终是字节。

11 load_unsafe(self, f: _t.IO, salt: _t_opt_str_bytes = None) -> _t_load_unsafe:

kind=method class=Serializer objtype=function line:290 at …\lib\site-packages\itsdangerous\serializer.py

比如 :meth:`loads_unsafe` ,但从文件加载。
    版本: 0.15

12 loads(

kind=method class=Serializer objtype=function line:221 at …\lib\site-packages\itsdangerous\serializer.py

与 :meth:`dumps` 相反。
    如果签名验证失败,则为抛出 :exc:`.BadSignature` 。

13 loads_unsafe(

kind=method class=Serializer objtype=function line:242 at …\lib\site-packages\itsdangerous\serializer.py

类似于 :meth:`loads` ,但不验证签名。根据序列化器的工作方式,使用这种方法可能非常危险。
    返回值是``(signature_valid, payload)``而不仅仅是有效载荷。第一项将是一个布尔值,指示签名是否有效。
    这个函数永远不会失败。如果你知道你的序列化器模块是不可利用的(例如,不要将它与pickle序列化器一起使用),则只能将其用于调试。
    版本: 0.15

14 make_signer(self, salt: _t_opt_str_bytes = None) -> Signer:

kind=method class=Serializer objtype=function line:171 at …\lib\site-packages\itsdangerous\serializer.py

创建要使用的签名器的新实例。
    默认实现使用 :class:`.Signer` 基类。

🌿18 itsdangerous.signer.HMACAlgorithm

HMACAlgorithm, itsdangerous.signer.HMACAlgorithm, module=itsdangerous.signer, line:41 at site-packages\itsdangerous\signer.py

提供hmac签名生成功能。

method

1 get_signature(self, key: bytes, value: bytes) -> bytes:

kind=method class=HMACAlgorithm objtype=function line:55 at …\lib\site-packages\itsdangerous\signer.py

static method

2 default_digest_method()

kind=static method class=HMACAlgorithm objtype=staticmethod

staticmethod(function) -> method将函数转换为静态方法。

🌿19 itsdangerous.signer.NoneAlgorithm

NoneAlgorithm, itsdangerous.signer.NoneAlgorithm, module=itsdangerous.signer, line:32 at site-packages\itsdangerous\signer.py

提供不执行任何签名并返回空签名的算法。

method

1 get_signature(self, key: bytes, value: bytes) -> bytes:

kind=method class=NoneAlgorithm objtype=function line:37 at …\lib\site-packages\itsdangerous\signer.py

🌿20 itsdangerous.signer.Signer

Signer, itsdangerous.signer.Signer, module=itsdangerous.signer, line:67 at site-packages\itsdangerous\signer.py

签名者对字节进行安全签名,然后取消签名以验证值未被更改。
    密钥应该是一个随机的“字节”字符串,不应该保存到代码或版本控制中。
    在不同的语境中,应该使用不同的盐来区分上下文。有关密钥和盐的安全性的信息,请参阅 :doc:`/concepts`。
    :参数secret key:
        :param secret_key: 签名和验证的秘钥。可以是一个键列表,从旧的到最新的,支持键轮换。
        :param salt: 与 ``secret_key`` 组合的额外密钥,以区分不同上下文中的签名。
        :param sep: 签名与值之间的分隔符
        :param key_derivation: 如何从密钥和盐中派生签名密钥。可能的值是 ``concat``, ``django-concat`` 或 ``hmac``。
                                默认为 :attr:`default_key_derivation`, 默认为 ``django-concat``。
        :param digest_method: 生成HMAC签名时使用的哈希函数。默认为 :attr:`default_digest_method`, 默认为 :func:`hashlib.sha1`. 
                                请注意,在HMAC中间使用散列时,单独使用散列的安全性并不适用。
        :param algorithm: 一个实例 :class:`SigningAlgorithm` 来代替用``digest_method方法``构建一个默认的 :class:`HMACAlgorithm`。
    版本: 2.0
        通过传递一个列表给 ``secret_key``增加了对键轮换的支持。
    版本: 0.18
        ``algorithm`` 被添加为类构造函数的参数。
    版本: 0.14
        ``key_derivation`` 和 ``digest_method`` 被添加为类构造函数的参数。

data

1 default_key_derivation=django-concat kind:data type:str class:<class ‘itsdangerous.signer.Signer’>

property

2 secret_key=<property object at 0x0000020CD8352BD8> kind:property type:property class:<class ‘itsdangerous.signer.Signer’>

method

3 derive_key(self, secret_key: _t_opt_str_bytes = None) -> bytes:

kind=method class=Signer objtype=function line:173 at …\lib\site-packages\itsdangerous\signer.py

调用此方法来派生密钥。
    这里可以覆盖默认的键派生选择。
    密钥派生不打算用作从短密码中生成复杂密钥的安全方法。
    相反,您应该使用大型随机密钥。
        :param secret_key: 要派生的特定密钥。默认为 :attr:`secret_keys`。
        版本: 2.0
            增加了 ``secret_key`` 参数。

4 get_signature(self, value: _t_str_bytes) -> bytes:

kind=method class=Signer objtype=function line:206 at …\lib\site-packages\itsdangerous\signer.py

返回给定值的签名。

5 sign(self, value: _t_str_bytes) -> bytes:

kind=method class=Signer objtype=function line:213 at …\lib\site-packages\itsdangerous\signer.py

给给定字符串加符号。

6 unsign(self, signed_value: _t_str_bytes) -> bytes:

kind=method class=Signer objtype=function line:235 at …\lib\site-packages\itsdangerous\signer.py

取消给定字符串的符号。

7 validate(self, signed_value: _t_str_bytes) -> bool:

kind=method class=Signer objtype=function line:249 at …\lib\site-packages\itsdangerous\signer.py

仅验证给定的带符号值。如果签名存在并且有效,则返回``True``。

8 verify_signature(self, value: _t_str_bytes, sig: _t_str_bytes) -> bool:

kind=method class=Signer objtype=function line:218 at …\lib\site-packages\itsdangerous\signer.py

验证给定值的签名。

static method

9 default_digest_method()

kind=static method class=Signer objtype=staticmethod

staticmethod(function) -> method将函数转换为静态方法。

🌿21 itsdangerous.timed.TimedSerializer

TimedSerializer, itsdangerous.timed.TimedSerializer, module=itsdangerous.timed, line:176 at site-packages\itsdangerous\timed.py

用法 :class:`TimestampSigner`代替默认的 :class:`.Signer`。

data

1 default_signer=<class ‘itsdangerous.timed.TimestampSigner’> kind:data type:type class:<class ‘itsdangerous.timed.TimedSerializer’>

method

2 iter_unsigners(

kind=method class=TimedSerializer objtype=function line:183 at …\lib\site-packages\itsdangerous\timed.py

3 loads(

kind=method class=TimedSerializer objtype=function line:191 at …\lib\site-packages\itsdangerous\timed.py

与 :meth:`dumps`相反,引发 :exc:`.BadSignature`,如果签名验证失败。
如果提供了``max_age`` ,它将确保签名不会超过该时间(以秒为单位)。
如果签名过期,引发:exc:`.SignatureExpired`。所有参数都转发给签名者的 :meth:`~TimestampSigner.unsign` 方法。

4 loads_unsafe(

kind=method class=TimedSerializer objtype=function line:228 at …\lib\site-packages\itsdangerous\timed.py

🌿22 itsdangerous.timed.TimestampSigner

TimestampSigner, itsdangerous.timed.TimestampSigner, module=itsdangerous.timed, line:26 at site-packages\itsdangerous\timed.py

像常规的:class:`.Signer`一样工作,还记录了签名的时间,并可用于使签名过期。
    :meth:`unsign`方法可以引发:exc:`.SignatureExpired`。
    如果由于签名过期而取消签名失败。

method

1 get_timestamp(self) -> int:

kind=method class=TimestampSigner objtype=function line:33 at …\lib\site-packages\itsdangerous\timed.py

返回当前时间戳。函数必须返回一个整数。

2 sign(self, value: _t_str_bytes) -> bytes:

kind=method class=TimestampSigner objtype=function line:49 at …\lib\site-packages\itsdangerous\timed.py

对给定字符串进行签名,并附加时间信息。

3 timestamp_to_datetime(self, ts: int) -> datetime:

kind=method class=TimestampSigner objtype=function line:39 at …\lib\site-packages\itsdangerous\timed.py

将时间戳从:meth:`get_timestamp`转换为一个:class`datetime.datetime`。
    版本: 2.0
    时间戳返回为UTC的时区感知 ``datetime``,而不是假定为UTC的 ``datetime``。

4 unsign(

kind=method class=TimestampSigner objtype=function line:61 at …\lib\site-packages\itsdangerous\timed.py

就像普通的:meth:`.Signer.unsign`,但也可以验证时间。有关一般行为,请参阅类的基文档字符串。
    如果``return timestamp``为``True``,签名的时间戳将作为一个 :class:`datetime.datetime`返回。
    版本: 2.0
        时间戳返回为UTC的时区感知 ``datetime``,而不是假定为UTC的 ``datetime``。

5 validate(self, signed_value: _t_str_bytes, max_age: _t_opt_int = None) -> bool:

kind=method class=TimestampSigner objtype=function line:166 at …\lib\site-packages\itsdangerous\timed.py

仅验证给定的带符号值。如果签名存在并且有效,则返回``True``。

🌿23 itsdangerous.url_safe.URLSafeSerializer

URLSafeSerializer, itsdangerous.url_safe.URLSafeSerializer, module=itsdangerous.url_safe, line:12 at site-packages\itsdangerous\url_safe.py

类似于 :class:`.Serializer`,但转储并加载到一个URL安全字符串,该字符串由字母的大小写字符以及``'_'``, ``'-'`` 和 ``'.'``组成。

🌿24 itsdangerous.url_safe.URLSafeTimedSerializer

URLSafeTimedSerializer, itsdangerous.url_safe.URLSafeTimedSerializer, module=itsdangerous.url_safe, line:76 at site-packages\itsdangerous\url_safe.py

类似于 :class:`.TimedSerializer`,但会将其转储并加载到URL安全字符串中,该字符串由字母的大小写字符以及``'_'``, ``'-'`` 和 ``'.'``组成。

🔵私有或局部

25 _json <module ‘itsdangerous._json’ from ‘…\lib\site-packages\itsdangerous\_json.py’>

☘️【itsdangerous.exc】

exc, fullname=itsdangerous.exc, file=itsdangerous\exc.py

☘️【itsdangerous.encoding】

encoding, fullname=itsdangerous.encoding, file=itsdangerous\encoding.py

☘️【itsdangerous.signer】

signer, fullname=itsdangerous.signer, file=itsdangerous\signer.py

☘️【itsdangerous.serializer】

serializer, fullname=itsdangerous.serializer, file=itsdangerous\serializer.py

☘️【itsdangerous.timed】

timed, fullname=itsdangerous.timed, file=itsdangerous\timed.py

☘️【itsdangerous._json】

_json, fullname=itsdangerous._json, file=itsdangerous_json.py

☘️【itsdangerous.url_safe】

url_safe, fullname=itsdangerous.url_safe, file=itsdangerous\url_safe.py

☘️【typing】

typing, fullname=typing, file=typing.py

☘️【base64】

base64, fullname=base64, file=base64.py

☘️【string】

string, fullname=string, file=string.py

☘️【struct】

struct, fullname=struct, file=struct.py

☘️【hashlib】

hashlib, fullname=hashlib, file=hashlib.py

☘️【hmac】

hmac, fullname=hmac, file=hmac.py

☘️【json】

json, fullname=json, file=json_init_.py

☘️【time】

time, fullname=time

☘️【zlib】

zlib, fullname=zlib

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Ae:跟踪摄像机

在时间轴面板上选择要跟踪的素材图层&#xff0c;在跟踪器面板中单击跟踪摄像机 Track Camera按钮之后&#xff0c;会向素材图层添加“3D 摄像机跟踪器” 3D Camera Tracker效果&#xff0c;并立即对视频画面逐帧分析以反求原始摄像机运动。 还有其它几种添加 3D 摄像机跟踪器效…

GeForce RTX 3060 Ti+cuda 11.6+Anaconda3搭建Pytorch深度学习环境

室友新购入一个笔记本&#xff0c;笔记本的显卡是GeForce RTX 3060 Ti&#xff0c;记录一下使用GeForce RTX 3060 Ticuda 11.6Anaconda3搭建Pytorch深度学习环境。 安装很简单&#xff0c;当你有了Python环境时记住一个核心命令即可&#xff0c;显卡驱动因该在之前已经安装过了…

ChatGPT 与我合力开发 xargin blog archive 插件:曹大博客的新奇探险

之前写的批量删除 chatGPT 对话的插件[1]&#xff0c;最近我收到了一个五星好评&#xff1a; 虽然不赚钱&#xff0c;交个朋友嘛&#xff0c;还是挺高兴的。而且借助 chatGPT&#xff0c;我是在与全世界的用户交流&#xff0c;想想就激动。 最近我发现自己让 chatGPT 帮忙写前端…

jQuery其他方法及插件使用

1. 拷贝对象 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthdevice-width,…

跨域 + 四种解决办法

目录 同源策略 解决方案 1、jsonp 2、前端代理 3、后端解决 4、Nginx代理 同源策略 说到跨域就不得不提到同源策略&#xff0c;什么是同源策略&#xff1f; 请求的时候拥有相同的 协议 域名 端口 只要有一个不同就属于跨域 解决方案 解决跨域问题一共有四种方式&#xff…

chatgpt赋能python:Python中的Join方法详解:简化拼接字符串的操作

Python中的Join方法详解&#xff1a;简化拼接字符串的操作 在Python编程中&#xff0c;拼接字符串是一项常见的操作。在过去&#xff0c;我们通常使用“”符号来连接多个字符串。但是&#xff0c;这种方法不是很高效&#xff0c;特别是当需要拼接大量字符串时。这时候&#xf…

基于html+css的图展示98

准备项目 项目开发工具 Visual Studio Code 1.44.2 版本: 1.44.2 提交: ff915844119ce9485abfe8aa9076ec76b5300ddd 日期: 2020-04-16T16:36:23.138Z Electron: 7.1.11 Chrome: 78.0.3904.130 Node.js: 12.8.1 V8: 7.8.279.23-electron.0 OS: Windows_NT x64 10.0.19044 项目…

python+django+vue学生在线选课系统93pul

随着信息化时代的到来&#xff0c;网络系统都趋向于智能化、系统化&#xff0c;选课系统也不例外&#xff0c;但目前国内的有些学校仍都使用人工管理&#xff0c;学校规模越来越大&#xff0c;同时信息量也越来越庞大&#xff0c;人工管理显然已无法应对时代的变化&#xff0c;…

初识Spring -- Spring入门保姆级教程(一)

文章目录 前言一、Spring是什么&#xff1f;1.概述2.了解spring家族3.spring系统概述4.spring优点5.spring学习路线 二、入门spring1.核心概念2.IOC入门案例3.DI入门案例4.bean的配置5.spring 中 bean的实例化--构造方法6.bean的实例化 -- 静态工厂实例化7.bean实例化--实例工厂…

IEEE802.3和IEEE802.11的分类(仅为分类)

IEEE802.3标准 IEEE802.3:10兆以太网 ●10Base&#xff0d;5 使用粗同轴电缆&#xff0c;最大网段长度为500m&#xff0c;基带传输方法&#xff1b; ●10Base&#xff0d;2 使用细同轴电缆&#xff0c;最大网段长度为185m&#xff0c;基带传输方法&#xff1b; ●10Base&am…

python+vue宠物用品商城网站django宠物领养系统31e70

我们也变得越来越忙碌、对生活的要求也变得更加严格&#xff0c;对快速和方便的服务的需求也在逐渐增加。因此&#xff0c;对宠物行业的管理、服务的要求也越来越严格。为适应时代的发展&#xff0c;各大宠物店开始广泛地使用电脑来进行管理&#xff0c;并推出在线宠物管理系统…

华为OD机试真题B卷 Java 实现【去除多余空格】,附详细解题思路

一、题目描述 去除文本多余空格&#xff0c;但不去除配对单引号之间的多余空格。给出关键词的起始和结束下标&#xff0c;去除多余空格后刷新关键词的起始和结束下标。 条件约束&#xff1a; 不考虑关键词起始和结束位置为空格的场景&#xff1b;单词的的开始和结束下标保证…

100天精通Python(可视化篇)——第89天:Bokeh库绘图可视化基础入门(参数说明+案例实战)

文章目录 专栏导读一、Bokeh是什么&#xff1f;二、安装与导入三、Bokeh接口介绍四、创建图表五、添加自定义渲染器切换主题添加图例图例位置图例方向图例背景和边界图例文本的外观行列布局网格布局 专栏导读 &#x1f525;&#x1f525;本文已收录于《100天精通Python从入门到…

十万个C语言冷知识

1.printf返回值&#xff1a; 成功&#xff1a;返回打印字符的个数 失败&#xff1a;返回EOF&#xff0c;EOF是文件结束的标志&#xff0c;宏定义为-1 #include <stdio.h> int main() {char str[] "123456789";printf("%d\n", printf("%d\n&quo…

效率神器AutoHotKey的初步使用

文章目录 下载安装与体验快捷键在程序中的热键热字串和重映射实战 Python命令行 下载安装与体验 下载AHK&#xff0c;安装后&#xff0c;右键->新建->AutoHotkey脚本&#xff0c;内容为 #space::Run tinycool.blog.csdn.net其中&#xff0c;#表示Win键&#xff1b;#spa…

Rust每日一练(Leetday0014) 组合总和II、缺失正数、接雨水

目录 40. 组合总和 II Combination Sum II &#x1f31f;&#x1f31f; 41. 缺失的第一个正数 First Missing Positive &#x1f31f;&#x1f31f;&#x1f31f; 42. 接雨水 Trapping Rain Water &#x1f31f;&#x1f31f;&#x1f31f; &#x1f31f; 每日一练刷题…

Web 自动化测试案例(入门级)——关闭某视频网站弹出广告以及打开登录框输入内容

文章目录 &#x1f4cb;前言&#x1f3af;自动化测试&#x1f9e9;环境的搭建 &#x1f3af;案例介绍&#x1f4dd;最后 &#x1f4cb;前言 人生苦短&#xff0c;我用Python。许久没写博客了&#xff0c;今天又是久违的参与话题的讨论&#xff0c;话题的内容是&#xff1a;如何…

基于springboot注解的shiro 授权及角色认证

目录 授权 后端接口服务注解 授权验证-没有角色无法访问 授权验证-获取角色进行验证 授权验证-获取权限进行验证 授权验证-异常处理 授权 用户登录后&#xff0c;需要验证是否具有指定角色指定权限。Shiro也提供了方便的工具进行判 断。 这个工具就是Realm的doGetAuthor…

华为OD机试真题B卷 Java 实现【狼羊过河】,附详细解题思路

一、题目描述 一农夫带着m只羊&#xff0c;n只狼过河&#xff0c;农夫有一条可载x只狼/羊的船&#xff1b;农夫在时或者羊的数量大于狼时&#xff0c;狼不会攻击羊&#xff1b; 农夫在不损失羊的情况下&#xff0c;运输几次可以完成运输&#xff1f; 返程不计入次数。 二、…

K8s容器运行环境安全加固

K8s容器运行环境安全加固 目录 文章目录 K8s容器运行环境安全加固目录1、最小特权原则&#xff08;POLP&#xff09;2、AppArmor限制容器对资源访问3、Seccomp 限制容器进程系统调用关于我最后 1、最小特权原则&#xff08;POLP&#xff09; **最小特权原则 (Principle of lea…