本文简要介绍ruby语言中 CGI.new
的用法。
用法
new(tag_maker) { block }
new(options_hash = {}) { block }
创建一个新的 CGI
实例。
tag_maker
-
这与使用值为
{ :tag_maker => tag_maker }
的options_hash
表单相同。请注意,建议使用options_hash
表单,因为它还允许您指定您将接受的字符集。 options_hash
-
识别三个选项的
Hash
::accept_charset
-
指定接收到的查询字符串的编码。如果省略,则使用
@@accept_charset
。如果编码无效,将引发CGI::InvalidEncoding
。例子。假设
@@accept_charset
是“UTF-8”未指定时:
cgi=CGI.new # @accept_charset # => "UTF-8"
当指定为 “EUC-JP” 时:
cgi=CGI.new(:accept_charset => "EUC-JP") # => "EUC-JP"
:tag_maker
-
String
指定要使用的 HTML 生成方法的版本。如果未指定,则不会加载任何 HTML 生成方法。支持以下值:
- “html3”
-
HTML 3.x
- “html4”
-
HTML 4.0
- “html4Tr”
-
HTML 4.0 过渡
- “html4Fr”
-
带有框架集的 HTML 4.0
- “html5”
-
HTML 5
:max_multipart_length
-
指定多部分数据的最大长度。可以是
Integer
标量或 lambda,将在解析请求时进行评估。这允许在确定是否接受多部分数据时设置更复杂的逻辑(例如,咨询注册用户上传许可)默认为 128 * 1024 * 1024 字节
cgi=CGI.new(:max_multipart_length => 268435456) # simple scalar cgi=CGI.new(:max_multipart_length => -> {check_filesystem}) # lambda
block
-
如果提供,则在遇到无效编码时调用该块。例如:
encoding_errors={} cgi=CGI.new(:accept_charset=>"EUC-JP") do |name,value| encoding_errors[name] = value end
最后,如果 CGI
对象不是在标准的 CGI
调用环境中创建的(即在其环境中找不到REQUEST_METHOD),那么它将以“offline”模式运行。在这种模式下,它从命令行或(失败)从标准输入读取其参数。否则,cookie 和其他参数会从标准 CGI
位置自动解析,该位置因 REQUEST_METHOD 而异。
相关用法
- Ruby CGI.print用法及代码示例
- Ruby CGI.http_header用法及代码示例
- Ruby CGI.parse用法及代码示例
- Ruby CGI.out用法及代码示例
- Ruby CGI类用法及代码示例
- Ruby CStructEntity.[]=用法及代码示例
- Ruby Context.save_history=用法及代码示例
- Ruby CSV.header_convert用法及代码示例
- Ruby Constants模块用法及代码示例
- Ruby CMath tanh()用法及代码示例
- Ruby CSV.skip_lines用法及代码示例
- Ruby Comparable.between?用法及代码示例
- Ruby Class类用法及代码示例
- Ruby CMath cos()用法及代码示例
- Ruby Complex.arg用法及代码示例
- Ruby CSV.table用法及代码示例
- Ruby CSV.force_quotes?用法及代码示例
- Ruby CParser模块用法及代码示例
- Ruby CSV.unconverted_fields?用法及代码示例
- Ruby ComposedSet类用法及代码示例
- Ruby C.handle_constants用法及代码示例
- Ruby Continuation类用法及代码示例
- Ruby Closure类用法及代码示例
- Ruby CStructEntity.[]用法及代码示例
- Ruby Complex.abs2用法及代码示例
注:本文由纯净天空筛选整理自ruby-lang.org大神的英文原创作品 CGI.new。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。