Ruby CGI方法
Ruby CGI方法
以下為CGI類的方法列表:
序號 | 方法描述 |
---|---|
1 | CGI::new([ level="query"]) 建立 CGI 物件。query可以是以下值:
|
2 | CGI::escape( str) 使用 URL 編碼來轉義字串 |
3 | CGI::unescape( str) 對通過 escape() 編碼的字串進行解碼。 |
4 | CGI::escapeHTML( str) 編碼 HTML 特殊字元, 包括: & < >。 |
5 | CGI::unescapeHTML( str) 解碼 HTML 特殊字元, 包括: & < >。 |
6 | CGI::escapeElement( str[, element...]) 在指定的 HTML 元素中編碼 HTML 特殊字元。 |
7 | CGI::unescapeElement( str, element[, element...]) 在指定的 HTML 元素中解碼 HTML 特殊字元。 |
8 | CGI::parse( query) 解析查詢字串,並返回包含雜湊的 鍵=》值 對。 |
9 | CGI::pretty( string[, leader=" "]) 返回整齊的HTML格式。 如果指定了 leader ,它將寫入到每一行的開頭。 leader 預設值為兩個空格。 |
10 | CGI::rfc1123_date( time) 根據 RFC-1123 來格式化時間 (例如, Tue, 2 Jun 2008 00:00:00 GMT)。 |
CGI 例項化方法
以下例項中我們將 CGI::new 的物件賦值給 c 變數,方法列表如下:
序號 | 方法描述 |
---|---|
1 | c[ name] 返回一個數組,包含了對應欄位名為 name 的值。 |
2 | c.checkbox( name[, value[, check=false]]) c.checkbox( options) 返回 HTML 字串用於定義 checkbox 欄位。標籤的屬性可以以一個雜湊函式作為引數傳遞。 |
3 | c.checkbox_group( name, value...) c.checkbox_group( options) >返回 HTML 字串用於定義 checkbox 組。標籤的屬性可以以一個雜湊函式作為引數傳遞。 |
4 | c.file_field( name[, size=20[, max]]) c.file_field( options) 返回定義 file 欄位的HTML字串。 |
5 | c.form([ method="post"[, url]]) { ...} c.form( options) 返回定義 form 表單的HTML字串。 如果指定了程式碼塊,將作為表單內容輸出。標籤的屬性可以以一個雜湊函式作為引數傳遞。 |
6 | c.cookies 返回 CGI::Cookie 物件,包含了cookie 中的鍵值對。 |
7 | c.header([ header]) 返回 CGI 頭部的資訊。如果 header 引數是雜湊值,其鍵 - 值對,用於建立頭部資訊。 |
8 | c.hidden( name[, value]) c.hidden( options) 返回定義一個隱藏欄位的HTML字串。標籤的屬性可以以一個雜湊函式作為引數傳遞。 |
9 | c.image_button( url[, name[, alt]]) c.image_button( options) 返回定義一個影象按鈕的HTML字串。標籤的屬性可以以一個雜湊函式作為引數傳遞。 |
10 | c.keys 返回一個數組,包含了表單的欄位名。 |
11 | c.key?( name) c.has_key?( name) c.include?( name) 如果表單包含了指定的欄位名返回 true。 |
12 | c.multipart_form([ url[, encode]]) { ...} c.multipart_form( options) { ...} 返回定義一個多媒體表單(multipart)的HTML字串。標籤的屬性可以以一個雜湊函式作為引數傳遞。 |
13 | c.out([ header]) { ...} 生成 HTML 並輸出。使用由塊的輸出來建立頁面的主體生成的字串。 |
14 | c.params 返回包含表單欄位名稱和值的雜湊值。 |
15 | c.params= hash 設定使用欄位名和值。 |
16 | c.password_field( name[, value[, size=40[, max]]]) c.password_field( options) 返回定義一個password欄位的HTML字串。標籤的屬性可以以一個雜湊函式作為引數傳遞。 |
17 | c.popup_menu( name, value...) c.popup_menu( options) c.scrolling_list( name, value...) c.scrolling_list( options) 返回定義一個彈出式選單的HTML字串。標籤的屬性可以以一個雜湊函式作為引數傳遞。 |
18 | c.radio_button( name[, value[, checked=false]]) c.radio_button( options) 返回定義一個radio欄位的HTML字串。標籤的屬性可以以一個雜湊函式作為引數傳遞。 |
19 | c.radio_group( name, value...) c.radio_group( options) 返回定義一個radio按鈕組的HTML字串。標籤的屬性可以以一個雜湊函式作為引數傳遞。 |
20 | c.reset( name[, value]) c.reset( options) 返回定義一個reset按鈕的HTML字串。 標籤的屬性可以以一個雜湊函式作為引數傳遞 |
21 | c.text_field( name[, value[, size=40[, max]]]) c.text_field( options) 返回定義一個text欄位的HTML字串。標籤的屬性可以以一個雜湊函式作為引數傳遞。 |
22 | c.textarea( name[, cols=70[, rows=10]]) { ...} c.textarea( options) { ...} 返回定義一個textarea欄位的HTML字串。 如果指定了塊,程式碼塊輸出的字串將作為 textarea 的內容。 標籤的屬性可以以一個雜湊函式作為引數傳遞。 |
HTML 生成方法
你可以再 CGI 例項中使用相應的 HTML 標籤名來建立 HTML 標籤,例項如下:
例項
#!/usr/bin/ruby
require "cgi"
cgi = CGI.new("html4")
cgi.out{
cgi.html{
cgi.head{ "\n"+cgi.title{"This Is a Test"} } +
cgi.body{ "\n"+
cgi.form{"\n"+
cgi.hr +
cgi.h1 { "A Form: " } + "\n"+
cgi.textarea("get_text") +"\n"+
cgi.br +
cgi.submit
}
}
}
}
CGI 物件屬性
你可以再 CGI 例項中使用以下屬性:
屬性 | 返回值 |
---|---|
accept | 可接受的 MIME 型別 |
accept_charset | 可接受的字符集 |
accept_encoding | 可接受的編碼 |
accept_language | 可接受的語言 |
auth_type | 可接受的型別 |
raw_cookie | Cookie 資料 (原字串) |
content_length | 內容長度(Content length) |
content_type | 內容型別(Content type) |
From | Client e-mail 地址 |
gateway_interface | CGI 版本 |
path_info | 路徑 |
path_translated | 轉換後的路徑 |
Query_string | 查詢字串 |
referer | 之前訪問網址 |
remote_addr | 客戶端主機地址(IP) |
remote_host | 客戶端主機名 |
remote_ident | 客戶端名 |
remote_user | 經過身份驗證的使用者 |
request_method | 請求方法(GET, POST, 等。) |
script_name | 引數名 |
server_name | 伺服器名 |
server_port | 伺服器埠 |
server_protocol | 伺服器協議 |
server_software | 伺服器軟體 |
user_agent | 使用者代理(User agent) |