ks33requests.utils module¶
-
ks33requests.utils.http_format_date(dt: datetime.datetime = None) → str¶ 生成 HTTP 头的日期时间字符串
- 参数
dt (datetime) –
要转换的时间日期
- default
None- 当前时间
- 返回
转换后的满足 HTTP 格式要求的时间日期字符串
- 返回类型
-
ks33requests.utils.prepare_data(data, checking: bool = True, encoding: str = None) → Tuple[Any, str]¶ 为 API 准备要进行 POST 或 PUT 的数据,包括 KS3 API 的通用请求部分所需的 Content-MD5。
准备数据是为了让
requests直接使用 data 进行 POST / PUT- 参数
data –
要准备的数据
支持的数据类型有:
bytes,bytearray,str,pathlib.Path,io.BufferedIOBase,io.TextIOBase如果此参数是不支持的数据类型,该函数返回是
(data, ""),即原样返回 data ,以及空字符串组成的元组checking (bool) – 是否计算MD5. 默认
Trueencoding (str) – 如果数据是字符串,使用这个参数指定字符编码。默认自动获取。
- 返回类型
Tuple[Any, str]
- 返回
返回元组形如
(data, md5)。分别是转换后的数据,以及该数据的MD5散列值的BASE64编码结果字符串。
注解
Content-MD5 的算法为先对数据做MD5摘要,再将MD5摘要做Base64编码。 中间不需要做HEX编码,由于部分语言或工具包的MD5是默认做HEX编码的,所以当MD5算出来的结果为HEX编码的,首先需要对算出来的结果做HEX解码,然后再做Base64编码。
-
ks33requests.utils.get_content_md5(data, encoding: str = None) → str¶ 获取 KS3 API 的通用请求部分所需的 Content-MD5
- 参数
data –
要计算数据
参见
与
prepare_data()的同名参数一致。encoding (str) –
字符编码
参见
与
prepare_data()的同名参数一致。
- 返回类型
- 返回
该数据的MD5散列值的BASE64编码结果字符串