字段和多部分表单#
领域#
- class urllib3.fields.RequestField(name, data, filename=None, headers=None, header_formatter=None)#
基类:
object
请求正文参数的数据容器。
- 参数:
在 2.0.0 版本发生变更: 这个
header_formatter
参数已弃用,将在urllib3 v2.1.0中删除。- _render_part(name, value)#
重写此方法以更改每个多部分标题参数的格式。默认情况下,此函数调用
format_multipart_header_param()
。
- classmethod from_tuples(fieldname, value, header_formatter=None)#
A
RequestField
旧样式元组参数的工厂。支撑结构
RequestField
从键/值字符串和键/文件元组的参数。filetuple是一个(filename,data,mime type)元组,其中mime类型是可选的。例如::'foo': 'bar', 'fakefile': ('foofile.txt', 'contents of foofile'), 'realfile': ('barfile.txt', open('realfile').read()), 'typedfile': ('bazfile.bin', open('bazfile').read(), 'image/jpeg'), 'nonamefile': 'contents of nonamefile field',
字段名和文件名必须是Unicode。
- make_multipart(content_disposition=None, content_type=None, content_location=None)#
将此请求字段设置为多部分请求字段。
此方法重写请求参数的“内容部署”、“内容类型”和“内容位置”头。
- urllib3.fields.format_header_param(name, value)#
自 2.0.0 版本弃用: 已重命名为
format_multipart_header_param()
。将在urllib3 v2.1.0中删除。
- urllib3.fields.format_header_param_html5(name, value)#
自 2.0.0 版本弃用: 已重命名为
format_multipart_header_param()
。将在urllib3 v2.1.0中删除。
- urllib3.fields.format_header_param_rfc2231(name, value)#
helper函数使用rfc 2231中定义的策略格式化和引用单个头参数。
对于可能包含非ASCII值(如文件名)的标头参数特别有用。下面是 RFC 2388 Section 4.4 。
- 参数:
- 返回:
RFC-2231格式的Unicode字符串。
- 返回类型:
自 2.0.0 版本弃用: 将在urllib3 v2.1.0中删除。这对以下对象无效
multipart/form-data
标头参数。
- urllib3.fields.format_multipart_header_param(name, value)#
设置单个多部分标题参数的格式并将其引起来。
这是在 WHATWG HTML Standard 截至2021/06/10,与当前浏览器和cURL版本的行为相匹配。假设值为UTF-8。这个
\n
,\r
,以及"
字符是百分比编码的。- 参数:
- 返回:
一根线
name="value"
带着逃逸的价值。- 返回类型:
在 2.0.0 版本发生变更: 与截至2021/06/10的WHATWG HTML标准匹配。控制字符不再采用百分比编码。
在 2.0.0 版本发生变更: 重命名自
format_header_param_html5
和format_header_param
。旧名称将在urllib3v2.1.0中删除。
多部分形式#
- urllib3.encode_multipart_formdata(fields, boundary=None)#
编一本字典
fields
使用多部分/表单数据mime格式。- 参数:
fields (Sequence[Tuple[str, str | bytes | Tuple[str, str | bytes] | Tuple[str, str | bytes, str]] | RequestField] | Mapping[str, str | bytes | Tuple[str, str | bytes] | Tuple[str, str | bytes, str]]) -- 字段词典或(关键字,
RequestField
)。值由以下人员处理urllib3.fields.RequestField.from_tuples()
。boundary (str | None) -- 如果未指定,则将使用
urllib3.filepost.choose_boundary()
.
- 返回类型:
- urllib3.filepost.iter_field_objects(fields)#
在字段上迭代。
支持(k,v)元组和dict的列表,以及
RequestField
.