本文簡要介紹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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。