Ruby CGI方法

2022-09-27 11:36 更新

以下為CGI類(lèi)的方法列表:

序號(hào) 方法描述
1 CGI::new([ level="query"])
創(chuàng)建 CGI 對(duì)象。query可以是以下值:
  • query: 沒(méi)有 HTML 生成輸出

  • html3: HTML3.2

  • html4: HTML4.0 Strict

  • html4Tr: HTML4.0 Transitional

  • html4Fr: HTML4.0 Frameset

2 CGI::escape( str)
使用 URL 編碼來(lái)轉(zhuǎn)義字符串
3 CGI::unescape( str)
對(duì)通過(guò) escape() 編碼的字符串進(jìn)行解碼。
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)
解析查詢(xún)字符串,并返回包含哈希的 鍵=》值 對(duì)。
9 CGI::pretty( string[, leader=" "])
返回整齊的HTML格式。 如果指定了 leader ,它將寫(xiě)入到每一行的開(kāi)頭。 leader 默認(rèn)值為兩個(gè)空格。
10 CGI::rfc1123_date( time)
根據(jù) RFC-1123 來(lái)格式化時(shí)間 (例如, Tue, 2 Jun 2008 00:00:00 GMT)。

CGI 實(shí)例化方法

以下實(shí)例中我們將 CGI::new 的對(duì)象賦值給 c 變量,方法列表如下:

序號(hào) 方法描述
1 c[ name]
返回一個(gè)數(shù)組,包含了對(duì)應(yīng)字段名為 name 的值。
2 c.checkbox( name[, value[, check=false]])
c.checkbox( options)

返回 HTML 字符串用于定義 checkbox 字段。標(biāo)簽的屬性可以以一個(gè)哈希函數(shù)作為參數(shù)傳遞。
3 c.checkbox_group( name, value...)
c.checkbox_group( options)

>返回 HTML 字符串用于定義 checkbox 組。標(biāo)簽的屬性可以以一個(gè)哈希函數(shù)作為參數(shù)傳遞。
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字符串。 如果指定了代碼塊,將作為表單內(nèi)容輸出。標(biāo)簽的屬性可以以一個(gè)哈希函數(shù)作為參數(shù)傳遞。
6 c.cookies
返回 CGI::Cookie 對(duì)象,包含了cookie 中的鍵值對(duì)。
7 c.header([ header])
返回 CGI 頭部的信息。如果 header 參數(shù)是哈希值,其鍵 - 值對(duì),用于創(chuàng)建頭部信息。
8 c.hidden( name[, value])
c.hidden( options)

返回定義一個(gè)隱藏字段的HTML字符串。標(biāo)簽的屬性可以以一個(gè)哈希函數(shù)作為參數(shù)傳遞。
9 c.image_button( url[, name[, alt]])
c.image_button( options)

返回定義一個(gè)圖像按鈕的HTML字符串。標(biāo)簽的屬性可以以一個(gè)哈希函數(shù)作為參數(shù)傳遞。
10 c.keys
返回一個(gè)數(shù)組,包含了表單的字段名。
11 c.key?( name)
c.has_key?( name)
c.include?( name)

如果表單包含了指定的字段名返回 true。
12 c.multipart_form([ url[, encode]]) { ...}
c.multipart_form( options) { ...}

返回定義一個(gè)多媒體表單(multipart)的HTML字符串。標(biāo)簽的屬性可以以一個(gè)哈希函數(shù)作為參數(shù)傳遞。
13 c.out([ header]) { ...}
生成 HTML 并輸出。使用由塊的輸出來(lái)創(chuàng)建頁(yè)面的主體生成的字符串。
14 c.params
返回包含表單字段名稱(chēng)和值的哈希值。
15 c.params= hash
設(shè)置使用字段名和值。
16 c.password_field( name[, value[, size=40[, max]]])
c.password_field( options)

返回定義一個(gè)password字段的HTML字符串。標(biāo)簽的屬性可以以一個(gè)哈希函數(shù)作為參數(shù)傳遞。
17 c.popup_menu( name, value...)
c.popup_menu( options)
c.scrolling_list( name, value...)
c.scrolling_list( options)

返回定義一個(gè)彈出式菜單的HTML字符串。標(biāo)簽的屬性可以以一個(gè)哈希函數(shù)作為參數(shù)傳遞。
18 c.radio_button( name[, value[, checked=false]])
c.radio_button( options)

返回定義一個(gè)radio字段的HTML字符串。標(biāo)簽的屬性可以以一個(gè)哈希函數(shù)作為參數(shù)傳遞。
19 c.radio_group( name, value...)
c.radio_group( options)

返回定義一個(gè)radio按鈕組的HTML字符串。標(biāo)簽的屬性可以以一個(gè)哈希函數(shù)作為參數(shù)傳遞。
20 c.reset( name[, value])
c.reset( options)

返回定義一個(gè)reset按鈕的HTML字符串。 標(biāo)簽的屬性可以以一個(gè)哈希函數(shù)作為參數(shù)傳遞
21 c.text_field( name[, value[, size=40[, max]]])
c.text_field( options)

返回定義一個(gè)text字段的HTML字符串。標(biāo)簽的屬性可以以一個(gè)哈希函數(shù)作為參數(shù)傳遞。
22 c.textarea( name[, cols=70[, rows=10]]) { ...}
c.textarea( options) { ...}

返回定義一個(gè)textarea字段的HTML字符串。 如果指定了塊,代碼塊輸出的字符串將作為 textarea 的內(nèi)容。 標(biāo)簽的屬性可以以一個(gè)哈希函數(shù)作為參數(shù)傳遞。

HTML 生成方法

你可以再 CGI 實(shí)例中使用相應(yīng)的 HTML 標(biāo)簽名來(lái)創(chuàng)建 HTML 標(biāo)簽,實(shí)例如下:

#!/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 對(duì)象屬性

你可以再 CGI 實(shí)例中使用以下屬性:

屬性 返回值
accept 可接受的 MIME 類(lèi)型
accept_charset 可接受的字符集
accept_encoding 可接受的編碼
accept_language 可接受的語(yǔ)言
auth_type 可接受的類(lèi)型
raw_cookie Cookie 數(shù)據(jù) (原字符串)
content_length 內(nèi)容長(zhǎng)度(Content length)
content_type 內(nèi)容類(lèi)型(Content type)
From Client e-mail 地址
gateway_interface CGI 版本
path_info 路徑
path_translated 轉(zhuǎn)換后的路徑
Query_string 查詢(xún)字符串
referer 之前訪問(wèn)網(wǎng)址
remote_addr 客戶端主機(jī)地址(IP)
remote_host 客戶端主機(jī)名
remote_ident 客戶端名
remote_user 經(jīng)過(guò)身份驗(yàn)證的用戶
request_method 請(qǐng)求方法(GET, POST, 等。)
script_name 參數(shù)名
server_name 服務(wù)器名
server_port 服務(wù)器端口
server_protocol 服務(wù)器協(xié)議
server_software 服務(wù)器軟件
user_agent 用戶代理(User agent)
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)