Ruby - CGI常用方法
CGI类方法
序号 |
方法及描述 |
1 |
CGI::new([ level="query"])
创建一个CGI对象。Level可以是以下选项之一。如果指定了HTML级别之一,则定义以下方法以生成符合该级别的输出:
query - 不生成HTML输出
html3 - HTML3.2
html4 - HTML4.0严格版
html4Tr - HTML4.0过渡版
html4Fr - HTML4.0框架集
|
2 |
CGI::escape( str)
使用URL编码转义不安全的字符串。 |
3 |
CGI::unescape( str)
扩展使用URL编码转义的字符串。 |
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实例方法
序号 |
方法及描述 |
1 |
c[ name]
返回一个包含与name对应的字段值的数组。 |
2 |
c.checkbox( name[, value[, check = false]])
c.checkbox( options)
返回一个定义复选框字段的HTML字符串。标签属性可以在作为参数传递的哈希表中指定。 |
3 |
c.checkbox_group( name, value...)
c.checkbox_group( options)
返回一个定义复选框组的HTML字符串。标签属性可以在作为参数传递的哈希表中指定。 |
4 |
c.file_field( name[, size = 20[, max]])
c.file_field( options)
返回一个定义文件字段的HTML字符串。 |
5 |
c.form([ method="post"[, url]]) { ...}
c.form( options)
返回一个定义表单的HTML字符串。如果指定了代码块,则其输出生成的字符串将创建表单的内容。标签属性可以在作为参数传递的哈希表中指定。 |
6 |
c.cookies
返回一个包含CGI::Cookie对象的哈希表,该对象包含来自cookie的键和值。 |
7 |
c.header([ 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) { ...}
返回一个定义多部分表单的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)
返回一个定义密码字段的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)
返回一个定义单选按钮的HTML字符串。标签属性可以在作为参数传递的哈希表中指定。 |
19 |
c.radio_group( name, value...)
c.radio_group( options)
返回一个定义单选按钮组的HTML字符串。标签属性可以在作为参数传递的哈希表中指定。 |
20 |
c.reset( name[, value])
c.reset( options)
返回一个定义重置按钮的HTML字符串。标签属性可以在作为参数传递的哈希表中指定。 |
21 |
c.text_field( name[, value[, size = 40[, max]]])
c.text_field( options)
返回一个定义文本字段的HTML字符串。标签属性可以在作为参数传递的哈希表中指定。 |
22 |
c.textarea( name[, cols = 70[, rows = 10]]) { ...}
c.textarea( options) { ...}
返回一个定义文本区域的HTML字符串。如果指定了代码块,则其输出生成的字符串将创建文本区域的内容。标签属性可以在作为参数传递的哈希表中指定。 |
HTML生成方法
您可以使用相应的HTML标签名称以及任何CGI实例来创建任何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_type |
内容类型 |
From |
客户端电子邮件地址 |
gateway_interface |
CGI版本字符串 |
path_info |
额外路径 |
path_translated |
转换后的额外路径 |
Query_string |
查询字符串 |
referer |
先前访问的URL |
remote_addr |
客户端主机地址 |
remote_host |
客户端主机名 |
remote_ident |
客户端名称 |
remote_user |
已认证的用户 |
request_method |
请求方法(GET、POST等) |
script_name |
程序名称 |
server_name |
服务器名称 |
server_port |
服务器端口 |
server_protocol |
服务器协议 |
server_software |
服务器软件 |
user_agent |
用户代理 |
ruby_web_applications.htm