ks33requests.utils module

ks33requests.utils.http_format_date(dt: datetime.datetime = None) → str

生成 HTTP 头的日期时间字符串

参数

dt (datetime) –

要转换的时间日期

default

None - 当前时间

返回

转换后的满足 HTTP 格式要求的时间日期字符串

返回类型

str

ks33requests.utils.prepare_data(data: Union[bytes, bytearray, str, pathlib.Path, io.BufferedIOBase, io.TextIOBase], checking: bool = True, encoding: str = None) → Tuple[Union[bytes, bytearray, io.BufferedIOBase], Optional[str]]

为 API 准备要进行 POST 或 PUT 的数据,包括 KS3 API 的通用请求部分所需的 Content-MD5

参数
返回类型

Tuple[Union[bytes, bytearray, io.BufferedIOBase], Optional[str]]

返回

返回元组 (data, md5): 转换后的数据,以及该数据的MD5散列值的BASE64编码结果字符串

为了让 requests 上传数据,这个函数尝试转换 data 参数。 如果传入的 data 参数类型不支持,将直接原样返回 data,且 MD5 为 None

Content-MD5 的算法为先对数据做MD5摘要,再将MD5摘要做Base64编码。 中间不需要做HEX编码,由于部分语言或工具包的MD5是默认做HEX编码的,所以当MD5算出来的结果为HEX编码的,首先需要对算出来的结果做HEX解码,然后再做Base64编码。

ks33requests.utils.get_content_md5(data: Union[bytes, bytearray, str, pathlib.Path, io.BufferedIOBase, io.TextIOBase], encoding: str = None) → str

获取 KS3 API 的通用请求部分所需的 Content-MD5

参数
返回类型

str

返回

该数据的MD5散列值的BASE64编码结果字符串

Content-MD5 的算法为先对数据做MD5摘要,再将MD5摘要做Base64编码。 中间不需要做HEX编码,由于部分语言或工具包的MD5是默认做HEX编码的,所以当MD5算出来的结果为HEX编码的,首先需要对算出来的结果做HEX解码,然后再做Base64编码。