本文简要介绍ruby语言中 Net::HTTPHeader.set_form
的用法。
用法
set_form(params, enctype='application/x-www-form-urlencoded', formopt={})
Set
一个 HTML 表单数据集。
params
-
要设置的表单数据,应该是可枚举的。请参阅下面的更多细节。
enctype
-
用于对表单提交进行编码的内容类型,应为 application/x-www-form-urlencoded 或 multipart/form-data。
formopt
-
一个选项哈希,支持以下选项:
- :边界
-
多部分消息的边界。如果没有给出,将使用随机边界。
- :字符集
-
表单提交的字符集。非文件字段的所有字段名称和值都应使用此字符集进行编码。
每个参数项都应响应 each
并产生 2-3 个参数,或 2-3 个元素的数组。产生的论点应该是:
* The name of the field. * The value of the field, it should be a String or a File or IO-like. * An options hash, supporting the following options, only used for file uploads: :filename :: The name of the file to use. :content_type :: The content type of the uploaded file.
每个项目都是一个文件字段或一个普通字段。如果 value
是 File
对象或 opt
哈希具有 :filename 键,则该项目被视为文件字段。
如果Transfer-Encoding 设置为分块,这将使用分块编码发送请求。因为分块编码是 HTTP/1.1 的特性,所以在使用分块编码之前,您应该确认服务器支持 HTTP/1.1。
例子:
req.set_form([["q", "ruby"], ["lang", "en"]])
req.set_form({"f"=>File.open('/path/to/filename')},
"multipart/form-data",
charset: "UTF-8",
)
req.set_form([["f",
File.open('/path/to/filename.bar'),
{filename: "other-filename.foo"}
]],
"multipart/form-data",
)
另请参阅 RFC 2388、RFC 2616、HTML 4.01 和 HTML5
相关用法
- Ruby HTTPHeader.set_form_data用法及代码示例
- Ruby HTTPHeader.set_range用法及代码示例
- Ruby HTTPHeader.to_hash用法及代码示例
- Ruby HTTPHeader.add_field用法及代码示例
- Ruby HTTPHeader.each_header用法及代码示例
- Ruby HTTPHeader.get_fields用法及代码示例
- Ruby HTTPResponse类用法及代码示例
- Ruby HTTP.request_head用法及代码示例
- Ruby HTTP.origin用法及代码示例
- Ruby HTTP.set_debug_output用法及代码示例
- Ruby HTTP.request_uri用法及代码示例
- Ruby HTTP.post_form用法及代码示例
- Ruby HTTP.request_post用法及代码示例
- Ruby HTTP.send_request用法及代码示例
- Ruby HTTP.request_get用法及代码示例
- Ruby HTTP.head用法及代码示例
- Ruby HTTP.get用法及代码示例
- Ruby HTTP.post用法及代码示例
- Ruby HTTP.authority用法及代码示例
- Ruby HTTPResponse.read_body用法及代码示例
- Ruby HTTP.get_print用法及代码示例
- Ruby HTTPResponse.body用法及代码示例
- Ruby HTTP.build用法及代码示例
- Ruby HTTP.get_response用法及代码示例
- Ruby HTTP类用法及代码示例
注:本文由纯净天空筛选整理自ruby-lang.org大神的英文原创作品 HTTPHeader.set_form。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。