字段和多部分表单

领域

class urllib3.fields.RequestField(name, data, filename=None, headers=None, header_formatter=<function format_header_param_html5>)

基类:object

请求正文参数的数据容器。

参数
  • name -- 此请求字段的名称。必须是Unicode。

  • data -- 数据/值体。

  • filename -- 请求字段的可选文件名。必须是Unicode。

  • headers -- 一个可选的类似dict的头对象,最初用于字段。

  • header_formatter -- 用于编码和格式化标题的可选可调用文件。默认情况下,这是 format_header_param_html5() .

classmethod from_tuples(fieldname, value, header_formatter=<function format_header_param_html5>)

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)

将此请求字段设置为多部分请求字段。

此方法重写请求参数的“内容部署”、“内容类型”和“内容位置”头。

参数
  • content_type -- 请求正文的“内容类型”。

  • content_location -- 请求正文的“内容位置”。

render_headers()

呈现此请求字段的标题。

urllib3.fields.format_header_param(name, value)

helper函数使用html5策略格式化和引用单个头参数。

对于可能包含非ascii值(如文件名)的头参数特别有用。接下来是 HTML5 Working Draft Section 4.10.22.7 与curl和现代浏览器的行为相匹配。

参数
  • name -- 参数的名称,字符串应仅为ascii。

  • value -- 参数的值,提供为 bytesstr '.

雷特

一个Unicode字符串,去掉了麻烦的字符。

urllib3.fields.format_header_param_html5(name, value)

helper函数使用html5策略格式化和引用单个头参数。

对于可能包含非ascii值(如文件名)的头参数特别有用。接下来是 HTML5 Working Draft Section 4.10.22.7 与curl和现代浏览器的行为相匹配。

参数
  • name -- 参数的名称,字符串应仅为ascii。

  • value -- 参数的值,提供为 bytesstr '.

雷特

一个Unicode字符串,去掉了麻烦的字符。

urllib3.fields.format_header_param_rfc2231(name, value)

helper函数使用rfc 2231中定义的策略格式化和引用单个头参数。

对于可能包含非ascii值(如文件名)的头参数特别有用。遵循RFC 2388第4.4节。

参数
  • name -- 参数的名称,字符串应仅为ascii。

  • value -- 参数的值,提供为 bytesstr '.

雷特

RFC-2231格式的Unicode字符串。

urllib3.fields.guess_content_type(filename, default='application/octet-stream')

猜猜文件的“内容类型”。

参数
  • filename -- 猜测使用的“内容类型”的文件名 mimetypes .

  • default -- 如果猜不到“内容类型”,则默认为 default .

多部分形式

urllib3.encode_multipart_formdata(fields, boundary=None)

编一本字典 fields 使用多部分/表单数据mime格式。

参数
urllib3.filepost.choose_boundary()

我们令人难堪的简单替代美托尔。选择边界。

urllib3.filepost.iter_field_objects(fields)

在字段上迭代。

支持(k,v)元组和dict的列表,以及 RequestField .