Ruby CGI方法

  以下为CGI类的方法列表:

  序号方法描述

  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)。

  CGI 实例化方法

  以下实例中我们将 CGI::new 的对象赋值给 c 变量,方法列表如下:

  序号方法描述

  1c[ name]

  返回一个数组,包含了对应字段名为 name 的值。

  2c.checkbox( name[, value[, check=false]])

  c.checkbox( options)

  返回 HTML 字符串用于定义 checkbox 字段。标签的属性可以以一个哈希函数作为参数传递。

  3c.checkbox_group( name, value...)

  c.checkbox_group( options)

  >返回 HTML 字符串用于定义 checkbox 组。标签的属性可以以一个哈希函数作为参数传递。

  4c.file_field( name[, size=20[, max]])

  c.file_field( options)

  返回定义 file 字段的HTML字符串。

  5c.form([ method="post"[, url]]) { ...}

  c.form( options)

  返回定义 form 表单的HTML字符串。 如果指定了代码块,将作为表单内容输出。标签的属性可以以一个哈希函数作为参数传递。

  6c.cookies

  返回 CGI::Cookie 对象,包含了cookie 中的键值对。

  7c.header([ header])

  返回 CGI 头部的信息。如果 header 参数是哈希值,其键 - 值对,用于创建头部信息。

  8c.hidden( name[, value])

  c.hidden( options)

  返回定义一个隐藏字段的HTML字符串。标签的属性可以以一个哈希函数作为参数传递。

  9c.image_button( url[, name[, alt]])

  c.image_button( options)

  返回定义一个图像按钮的HTML字符串。标签的属性可以以一个哈希函数作为参数传递。

  10c.keys

  返回一个数组,包含了表单的字段名。

  11c.key?( name)

  c.has_key?( name)

  c.include?( name)

  如果表单包含了指定的字段名返回 true。

  12c.multipart_form([ url[, encode]]) { ...}

  c.multipart_form( options) { ...}

  返回定义一个多媒体表单(multipart)的HTML字符串。标签的属性可以以一个哈希函数作为参数传递。

  13c.out([ header]) { ...}

  生成 HTML 并输出。使用由块的输出来创建页面的主体生成的字符串。

  14c.params

  返回包含表单字段名称和值的哈希值。

  15c.params= hash

  设置使用字段名和值。

  16c.password_field( name[, value[, size=40[, max]]])

  c.password_field( options)

  返回定义一个password字段的HTML字符串。标签的属性可以以一个哈希函数作为参数传递。

  17c.popup_menu( name, value...)

  c.popup_menu( options)

  c.scrolling_list( name, value...)

  c.scrolling_list( options)

  返回定义一个弹出式菜单的HTML字符串。标签的属性可以以一个哈希函数作为参数传递。

  18c.radio_button( name[, value[, checked=false]])

  c.radio_button( options)

  返回定义一个radio字段的HTML字符串。标签的属性可以以一个哈希函数作为参数传递。

  19c.radio_group( name, value...)

  c.radio_group( options)

  返回定义一个radio按钮组的HTML字符串。标签的属性可以以一个哈希函数作为参数传递。

  20c.reset( name[, value])

  c.reset( options)

  返回定义一个reset按钮的HTML字符串。 标签的属性可以以一个哈希函数作为参数传递

  21c.text_field( name[, value[, size=40[, max]]])

  c.text_field( options)

  返回定义一个text字段的HTML字符串。标签的属性可以以一个哈希函数作为参数传递。

  22c.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_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)

  (编辑:雷林鹏 来源:网络)

雷林鹏分享:Ruby CGI方法的更多相关文章

  1. 雷林鹏分享:Ruby 循环

    Ruby 循环 Ruby 中的循环用于执行相同的代码块若干次.本章节将详细介绍 Ruby 支持的所有循环语句. Ruby while 语句 语法 while conditional [do] code ...

  2. 雷林鹏分享:C# 方法

    C# 方法 一个方法是把一些相关的语句组织在一起,用来执行一个任务的语句块.每一个 C# 程序至少有一个带有 Main 方法的类. 要使用一个方法,您需要: 定义方法 调用方法 C# 中定义方法 当定 ...

  3. 雷林鹏分享:Ruby CGI 编程

    Ruby CGI 编程 Ruby 是一门通用的语言,不仅仅是一门应用于WEB开发的语言,但 Ruby 在WEB应用及WEB工具中的开发是最常见的. 使用Ruby您不仅可以编写自己的SMTP服务器,FT ...

  4. 雷林鹏分享:Ruby CGI Sessions

    Ruby CGI Sessions CGI::Session 可以为用户和CGI环境保存持久的会话状态,会话使用后需要关闭,这样可以保证数据写入到存储当中,当会话完成后,你需要删除该数据. #!/us ...

  5. 雷林鹏分享:Ruby CGI Cookies

    Ruby CGI Cookies HTTP协议是无状态协议.但对于一个商业网站,它需要保持不同的页面间的会话信息. 如用户在网站注册过程中需要跳转页面,但又要保证之前填写的信息部丢失. 这种情况下 C ...

  6. 雷林鹏分享:Ruby 方法

    Ruby 方法 Ruby 方法与其他编程语言中的函数类似.Ruby 方法用于捆绑一个或多个重复的语句到一个单元中. 方法名应以小写字母开头.如果您以大写字母作为方法名的开头,Ruby 可能会把它当作常 ...

  7. 雷林鹏分享:Ruby Dir 类和方法

    Ruby Dir 类和方法 Dir 是一个表示用于给出操作系统中目录中的文件名的目录流.Dir 类也拥有与目录相关的操作,比如通配符文件名匹配.改变工作目录等. 类方法 序号方法 & 描述 1 ...

  8. 雷林鹏分享:Ruby File 类和方法

    Ruby File 类和方法 File 表示一个连接到普通文件的 stdio 对象.open 为普通文件返回该类的一个实例. 类方法 序号方法 & 描述 1File::atime( path) ...

  9. 雷林鹏分享:Ruby Web Services 应用 - SOAP4R

    Ruby Web Services 应用 - SOAP4R 什么是 SOAP? 简单对象访问协议(SOAP,全写为Simple Object Access Protocol)是交换数据的一种协议规范. ...

随机推荐

  1. 修改bootstrap 的全局样式,bootstrap 3.0 是由html5和CSS 3组成的

    方法一: 不建议使用 * {}选择器,因为在一些其他样式插件.特殊部分会有更好的字体样式设定,用*就会全部覆盖. 正常引入bootstrap的css样式后,记得将自定义的样式表放到其之后, <l ...

  2. IIS 6.0上部署ASP.NET MVC2.0

    在IIS7.5及8.0上部署都没有成功,对于身份验证会出现问题,据说是要安装什么东西,在这里说下IIS6.0的配置吧,下面是使用.net 4.0,自己可以选择所需的版本. 再此之前先确定web是用到了 ...

  3. flight framework 核心解读

    http://blog.csdn.net/sky_zhe/article/details/38906689?utm_source=tuicool&utm_medium=referral

  4. python tensorflow keras

    pip install tensorflow pip install keras pip install theano http://www.open-open.com/lib/view/open14 ...

  5. flask源码剖析--请求流程

    想了解这篇里面的内容,请先去了解我另外一篇博客Flask上下文 在了解flask之前,我们需要了解两个小知识点 偏函数 import functools def func(a1,a2): print( ...

  6. [Luogu4331][Baltic2004]数字序列

    原题请见<左偏树的特点及其应用>BY 广东省中山市第一中学 黄源河 luogu 题意 给出序列\(a[1...n]\),要求构造一个不下降序列\(b[1...n]\)使得\(\sum_{i ...

  7. 求连续出现5次以上的值,并且取第5次所在id

    关键字:求连续出现5次以上的值,并且取第5次所在id 关键字:求在某列连续出现N次值的的数据,并且取第M次出现所在行 需求,求连续出现5次以上的值,并且取第5次所在id SQL SERVER: --测 ...

  8. mysql主从复制,及扩展

    一.MySQL简单复制相关概念: 1. mysql复制的意义:Mysql复制是使得mysql完成高性能应用的前提 2. mysql复制的机制: SLAVE端线程: IO thread: 向主服务请求二 ...

  9. smart基础

    主要是libs里面的smarty类,和init.inc.php配置文件 剩下的是php文件夹.模板文件夹,临时文件夹.缓存文件夹.配置文件夹.插件文件夹 调用main文件夹中的php文件,通过libs ...

  10. SVD在餐馆菜肴推荐系统中的应用

    SVD在餐馆菜肴推荐系统中的应用 摘要:餐馆可以分为很多类别,比如中式.美式.日式等等.但是这些类别不一定够用,有的人喜欢混合类别.对用户对菜肴的点评数据进行分析,可以提取出区分菜品的真正因素,利用这 ...