国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當(dāng)前位置: 首頁 - 科技 - 知識(shí)百科 - 正文

簡(jiǎn)單介紹Ruby中的CGI編程

來源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 14:32:30
文檔

簡(jiǎn)單介紹Ruby中的CGI編程

簡(jiǎn)單介紹Ruby中的CGI編程:Ruby 是一門通用的語言,不僅僅是一門應(yīng)用于WEB開發(fā)的語言,但 Ruby 在WEB應(yīng)用及WEB工具中的開發(fā)是最常見的。 使用Ruby您不僅可以編寫自己的SMTP服務(wù)器,F(xiàn)TP程序,或Ruby Web服務(wù)器,而且還可以使用Ruby進(jìn)行CGI編程。 接下來,讓我們花點(diǎn)時(shí)間來學(xué)校Ruby
推薦度:
導(dǎo)讀簡(jiǎn)單介紹Ruby中的CGI編程:Ruby 是一門通用的語言,不僅僅是一門應(yīng)用于WEB開發(fā)的語言,但 Ruby 在WEB應(yīng)用及WEB工具中的開發(fā)是最常見的。 使用Ruby您不僅可以編寫自己的SMTP服務(wù)器,F(xiàn)TP程序,或Ruby Web服務(wù)器,而且還可以使用Ruby進(jìn)行CGI編程。 接下來,讓我們花點(diǎn)時(shí)間來學(xué)校Ruby

Ruby 是一門通用的語言,不僅僅是一門應(yīng)用于WEB開發(fā)的語言,但 Ruby 在WEB應(yīng)用及WEB工具中的開發(fā)是最常見的。

使用Ruby您不僅可以編寫自己的SMTP服務(wù)器,F(xiàn)TP程序,或Ruby Web服務(wù)器,而且還可以使用Ruby進(jìn)行CGI編程。

接下來,讓我們花點(diǎn)時(shí)間來學(xué)校Ruby的CGI編輯。
編寫 CGI 腳本

最腳本的 Ruby CGI 代碼如下所示:

#!/usr/bin/ruby puts "HTTP/1.0 200 OK" puts "Content-type: text/html " puts "This is a test"

你可以將該代碼保持到 test.cgi 文件中,上次到服務(wù)器并賦予足夠權(quán)限,即可作為 CGI 腳本執(zhí)行。

如果你站的的地址為http://www.example.com/ ,即可用過http://www.example.com/test.cgi 訪問該程序,輸出結(jié)果為: "This is a test."。

瀏覽器訪問該網(wǎng)址后,Web 服務(wù)器會(huì)在站點(diǎn)目錄下找到 test.cgi文件,然后通過Ruby解析器來解析腳本代碼并訪問HTML文檔。
使用 cgi.rb

Ruby 可以調(diào)用 CGI 庫來編寫更復(fù)雜的CGI腳本。

以下代碼調(diào)用了 CGI 庫來創(chuàng)建一個(gè)腳本的CGI腳本。

#!/usr/bin/ruby
 
require 'cgi'
 
cgi = CGI.new
puts cgi.header
puts "This is a test"

以下代碼中,創(chuàng)建了CGI 對(duì)象并打印頭部信息。
表單處理

使用CGI庫可以通過兩種方式獲取表單提交(或URL中的參數(shù))的數(shù)據(jù), 例如URL:/cgi-bin/test.cgi?FirstName=Zara&LastName=Ali。

你可以使用 CGI#[] 來直接獲取參數(shù)FirstName和LastName:

#!/usr/bin/ruby
 
require 'cgi'
cgi = CGI.new
cgi['FirstName'] # => ["Zara"]
cgi['LastName'] # => ["Ali"]

另外一種獲取表單數(shù)據(jù)的方法:

#!/usr/bin/ruby
 
require 'cgi'
cgi = CGI.new
h = cgi.params # => {"FirstName"=>["Zara"],"LastName"=>["Ali"]}
h['FirstName'] # => ["Zara"]
h['LastName'] # => ["Ali"]

以下代碼用于檢索所有的鍵值:

#!/usr/bin/ruby
 
require 'cgi'
cgi = CGI.new
cgi.keys # => ["FirstName", "LastName"]

如果表單包含了多個(gè)相同名稱的字段,則該相同字段的值將保存在數(shù)組中。

以下實(shí)例中,指定表單中三個(gè)相同的字段"name",值分別為 "Zara", "Huma" 和 "Nuha":

#!/usr/bin/ruby
 
require 'cgi'
cgi = CGI.new
cgi['name'] # => "Zara"
cgi.params['name'] # => ["Zara", "Huma", "Nuha"]
cgi.keys # => ["name"]
cgi.params # => {"name"=>["Zara", "Huma", "Nuha"]}

注意:Ruby 會(huì)自動(dòng)判斷 GET 和 POST 方法,所以無需對(duì)兩種方法區(qū)別對(duì)待。

以下是相關(guān)的HML代碼:






創(chuàng)建 Form 表單和 HTML

CGI 包含了大量的方法來創(chuàng)建 HTML,每個(gè)HTML標(biāo)簽都有相對(duì)應(yīng)的方法。 在使用這些方法前,比必須通過 CGI.new 來創(chuàng)建 CGI 對(duì)象。

為了使標(biāo)簽的嵌套更加的簡(jiǎn)單,這些方法將內(nèi)容作為了代碼塊,代碼塊將返回字符串作為標(biāo)簽的內(nèi)容。如下所示:

#!/usr/bin/ruby
 
require "cgi"
cgi = CGI.new("html4")
cgi.out{
 cgi.html{
 cgi.head{ "
"+cgi.title{"This Is a Test"} } +
 cgi.body{ "
"+
 cgi.form{"
"+
 cgi.hr +
 cgi.h1 { "A Form: " } + "
"+
 cgi.textarea("get_text") +"
"+
 cgi.br +
 cgi.submit
 }
 }
 }
}

字符串轉(zhuǎn)義

當(dāng)你在處理 URL 中的參數(shù)或者 HTML 表單數(shù)據(jù)時(shí),需要對(duì)指定的特殊字符進(jìn)行轉(zhuǎn)義,如:引號(hào)("),反斜杠(/)。

Ruby CGI 對(duì)象提供了CGI.escape 和 CGI.unescape 方法來處理這些特殊字符的轉(zhuǎn)義:

#!/usr/bin/ruby
 
require 'cgi'
puts CGI.escape(Zara Ali/A Sweet & Sour Girl")

以上代碼執(zhí)行結(jié)果如下:

#!/usr/bin/ruby
 
require 'cgi'
puts CGI.escape(Zara Ali/A Sweet & Sour Girl")

另一組實(shí)例:

#!/usr/bin/ruby
 
require 'cgi'
puts CGI.escapeHTML('

Zara Ali/A Sweet & Sour Girl

')

以上代碼執(zhí)行結(jié)果如下:

Zara Ali/A Sweet & Sour Girl

'

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

簡(jiǎn)單介紹Ruby中的CGI編程

簡(jiǎn)單介紹Ruby中的CGI編程:Ruby 是一門通用的語言,不僅僅是一門應(yīng)用于WEB開發(fā)的語言,但 Ruby 在WEB應(yīng)用及WEB工具中的開發(fā)是最常見的。 使用Ruby您不僅可以編寫自己的SMTP服務(wù)器,F(xiàn)TP程序,或Ruby Web服務(wù)器,而且還可以使用Ruby進(jìn)行CGI編程。 接下來,讓我們花點(diǎn)時(shí)間來學(xué)校Ruby
推薦度:
  • 熱門焦點(diǎn)

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 日韩欧美一区二区三区免费看 | 欧美日韩国产在线 | 性欧美高清 | 国产成人精品一区二区免费 | 亚洲激情综合 | 91精品久久久久 | 国产在视频| 欧美日韩色视频在线观看 | 国产精品系列在线观看 | 欧美视频亚洲色图 | 伊人情人综合成人久久网小说 | 爱啪网亚洲第一福利网站 | 欧美一区二区日韩一区二区 | 欧美一区二区三区不卡免费 | 91久久精品国产91久久性色也 | 亚洲国产成人精品久久 | 日本特级淫片免费看 | 国内精品久久久久久中文字幕 | 国产精品久久久久久久毛片 | 97久久综合区小说区图片专区 | 国产一区二区三区欧美 | 国产黄色小视频在线观看 | 香蕉视频啪啪 | 精品国产欧美一区二区五十路 | 999国产精品999久久久久久 | 欧美色图日韩 | 久久精品成人一区二区三区 | 可以免费观看一级毛片黄a 另类国产精品一区二区 | 黄网站色视频免费观看45分钟 | 国产日韩欧美精品 | 亚洲欧美在线视频 | 九九九国产在线 | 久久精品国产亚洲aa | 中文字幕va一区二区三区 | 亚洲欧洲高清有无 | 国产精品久久久精品三级 | 日韩在线观看视频免费 | 自拍偷拍免费 | 色在线网站免费观看 | 精品综合 | 久久er99热精品一区二区 |