Kaedah CGI Ruby


Berikut ialah senarai kaedah kelas CGI:

Nombor siriPenerangan kaedah
1CGI::new([ level="query"]) < br/>Buat objek CGI. pertanyaan boleh menjadi nilai berikut:
  • 序号方法描述
    1CGI::new([ level="query"])
    创建 CGI 对象。query可以是以下值:
    • query: 没有 HTML 生成输出

    • html3: HTML3.2

    • html4:  HTML4.0 Strict

    • html4Tr: HTML4.0 Transitional

    • html4Fr:  HTML4.0 Frameset

    2CGI::escape( str)
    使用 URL 编码来转义字符串
    3CGI::unescape( str)
    对通过 escape() 编码的字符串进行解码。
    4CGI::escapeHTML( str)
    编码 HTML 特殊字符, 包括: & < >。
    5CGI::unescapeHTML( str)
    解码 HTML 特殊字符, 包括: & < >。
    6CGI::escapeElement( str[, element...])
    在指定的 HTML 元素中编码 HTML 特殊字符。
    7CGI::unescapeElement( str, element[, element...])
    在指定的 HTML 元素中解码 HTML 特殊字符。
    8CGI::parse( query)
    解析查询字符串,并返回包含哈希的 键=》值 对。
    9CGI::pretty( string[, leader=" "])
    返回整齐的HTML格式。 如果指定了 leader ,它将写入到每一行的开头。 leader 默认值为两个空格。
    10CGI::rfc1123_date( time)
    根据 RFC-1123 来格式化时间 (例如, Tue, 2 Jun 2008 00:00:00 GMT)。
    pertanyaan: Tiada output yang dihasilkan HTML<🎜>
  • < 🎜 >html3: HTML3.2<🎜>
  • <🎜>html4: HTML4.0 Strict<🎜>
  • < 🎜>html4Tr: HTML4.0 Peralihan<🎜>
  • <🎜>html4Fr: HTML4.0 Frameset<🎜>
  • < / ul>
2CGI::escape( str)
Gunakan pengekodan URL untuk melepaskan rentetan < /td>
3CGI::unescape( str)
Lakukan pada rentetan yang dikodkan dengan penyahkodan escape().
4CGI::escapeHTML( str)
Enkodkan aksara khas HTML, termasuk: & < >.
5CGI::unescapeHTML(str)
Nyahkod aksara khas HTML, termasuk: & < >.
6CGI::escapeElement( str[, element...])
Pada yang ditentukan Mengekodkan aksara khas HTML dalam elemen HTML.
7CGI::unescapeElement( str, element[, element...])
In Menyahkod aksara khas HTML dalam elemen HTML yang ditentukan.
8CGI::parse( query)
Menghuraikan rentetan pertanyaan dan mengembalikan cincangan Kekunci => pasangan nilai.
9CGI::pretty( string[, leader=" "])
Kembalikan HTML yang kemas format. Jika pemimpin ditentukan, ia akan ditulis pada permulaan setiap baris. pemimpin Nilai lalai ialah dua ruang.
10CGI::rfc1123_date( time)
Formatkan masa mengikut RFC-1123 (cth. , Sel, 2 Jun 2008 00:00:00 GMT).

Kaedah instantiasi CGI

Dalam contoh berikut, kami menetapkan objek CGI::new kepada pembolehubah c Senarai kaedah adalah seperti berikut:

Nombor siriPenerangan kaedah
1c[ nama]
Mengembalikan tatasusunan yang mengandungi nilai medan sepadan bernama nama.
2c.kotak semak( nama[, nilai[, semak=salah]])
c.kotak pilihan( pilihan)

Mengembalikan rentetan HTML yang digunakan untuk menentukan medan kotak pilihan. Atribut label boleh dihantar sebagai argumen kepada fungsi cincang.
3c.checkbox_group( nama, nilai...)
c.checkbox_group( pilihan)

> Mengembalikan rentetan HTML yang digunakan untuk menentukan kumpulan kotak semak. Atribut label boleh dihantar sebagai argumen kepada fungsi cincang.
4c.file_field( nama[, saiz=20[, maks]])
c.file_field( pilihan)

Mengembalikan rentetan HTML yang mentakrifkan medan fail.
5c.form([ method="post"[, url]]) { ...}
c.form( pilihan)

Mengembalikan rentetan HTML yang mentakrifkan borang. Jika blok kod ditentukan, ia akan dikeluarkan sebagai kandungan borang. Atribut label boleh dihantar sebagai argumen kepada fungsi cincang.
6c.cookies
Mengembalikan objek CGI::Cookie, yang mengandungi pasangan nilai kunci dalam kuki.
7c.header([ header])
Mengembalikan maklumat pengepala CGI. Jika parameter pengepala ialah nilai cincang, pasangan nilai kuncinya digunakan untuk mencipta maklumat pengepala.
8c.hidden( name[, value])
c.hidden( options)

Kembali untuk mentakrifkan rentetan HTML untuk medan tersembunyi. Atribut label boleh dihantar sebagai parameter dengan fungsi cincang.
9c.image_button( url[, name[, alt]])
c.image_button( pilihan)

Mengembalikan rentetan HTML yang mentakrifkan butang imej. Atribut label boleh dihantar sebagai parameter dengan fungsi cincang.
10c.keys
Mengembalikan tatasusunan yang mengandungi nama medan borang.
11c.key?( name)
c.has_key?( name)
c.include?( name)

Mengembalikan benar jika borang mengandungi nama medan yang ditentukan.
12c.multipart_form([ url[, encode]]) { ...}
c.multipart_form( options) { . ..}

Mengembalikan rentetan HTML yang mentakrifkan bentuk multimedia (berbilang bahagian). Atribut label boleh dihantar sebagai argumen kepada fungsi cincang.
13c.out([ header]) { ...}
Jana HTML dan output. Gunakan rentetan yang dijana oleh output blok untuk mencipta isi halaman.
14c.params
Mengembalikan cincang yang mengandungi nama medan borang dan nilai.
15c.params= cincang
Tetapkan menggunakan nama medan dan nilai.
16c.password_field( name[, value[, size=40[, max]]])
c.password_field( options )

Mengembalikan rentetan HTML yang mentakrifkan medan kata laluan. Atribut label boleh dihantar sebagai argumen kepada fungsi cincang.
17c.popup_menu( nama, nilai...)
c.popup_menu( options)
c.scrolling_list( name , nilai...)
c.scrolling_list( options)

Mengembalikan rentetan HTML yang mentakrifkan menu pop timbul. Atribut label boleh dihantar sebagai argumen kepada fungsi cincang.
18c.radio_button( name[, value[, checked=false]])
c.radio_button( options)

Mengembalikan rentetan HTML yang mentakrifkan medan radio. Atribut label boleh dihantar sebagai argumen kepada fungsi cincang.
19c.radio_group( nama, nilai...)
c.radio_group( pilihan)

Kembali ke definisi Rentetan HTML untuk kumpulan butang radio. Atribut label boleh dihantar sebagai argumen kepada fungsi cincang.
20c.reset( name[, value])
c.reset( options)

Kembali untuk mentakrifkan rentetan HTML untuk butang set semula. Atribut label boleh dihantar sebagai parameter dengan fungsi cincang
21c.text_field( name[, value[, size=40[, maks ]]])
c.text_field( options)

Mengembalikan rentetan HTML yang mentakrifkan medan teks. Atribut label boleh dihantar sebagai argumen kepada fungsi cincang.
22c.textarea( name[, cols=70[, rows=10]]) { ...}
c. textarea( options) { ...}

Mengembalikan rentetan HTML yang mentakrifkan medan textarea. Jika blok ditentukan, output rentetan oleh blok kod akan digunakan sebagai kandungan kawasan teks. Atribut label boleh dihantar sebagai parameter dengan fungsi cincang.

Kaedah penjanaan HTML

Anda boleh menggunakan nama teg HTML yang sepadan dalam contoh CGI untuk mencipta teg HTML Contohnya adalah seperti berikut:

#!/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
         }
      }
   }
}

objek CGI. properties

Anda boleh menggunakan atribut berikut dalam kejadian CGI:

属性返回值
accept可接受的 MIME 类型
accept_charset可接受的字符集
accept_encoding可接受的编码
accept_language可接受的语言
auth_type可接受的类型
raw_cookieCookie 数据 (原字符串)
content_length内容长度(Content length)
content_type内容类型(Content type)
FromClient e-mail 地址
gateway_interfaceCGI 版本
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)