国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院

首頁 > 編程 > Ruby > 正文

用Ruby進(jìn)行CGI編程的入門指引

2020-10-29 19:39:36
字體:
供稿:網(wǎng)友

編寫CGI腳本:

最基本的Ruby CGI腳本看起來像這樣:

#!/usr/bin/rubyputs "HTTP/1.0 200 OK"puts "Content-type: text/html/n/n"puts "<html><body>This is a test</body></html>"

如果調(diào)用這個腳本 test.cgi 上傳到基于Unix/Linux的Web托管服務(wù)提供商并具有合適的權(quán)限,那么可以將它作為一個CGI腳本使用。

例如,如果有一個Linux的Web托管服務(wù)提供商托管的網(wǎng)站,如:http://www.yiibai.com/test.cgi 的主目錄,并給它執(zhí)行權(quán)限,那么訪問 http://www.yiibai.com/test.cgi 應(yīng)該返回一個HTML頁面顯示:This is a test.

這里時當(dāng) test.cgi 從Web瀏覽器請求,Web服務(wù)器看執(zhí)行使用Ruby解釋器它。 Ruby腳本返回一個基本的HTTP頭,然后返回一個基本的HTML文檔。
使用 cgi.rb:

Ruby有一個特殊的稱為CGI庫,使更復(fù)雜的交互相比前面的CGI腳本。

讓我們創(chuàng)建一個基本的CGI使用CGI腳本:

#!/usr/bin/rubyrequire 'cgi'cgi = CGI.newputs cgi.headerputs "<html><body>This is a test</body></html>"

在這里,創(chuàng)建了一個CGI對象,并用它來打印標(biāo)題行。
表單處理:

使用CGI類使可以訪問HTML查詢參數(shù)有兩種方法。假設(shè)我們給出 /cgi-bin/test.cgi?FirstName=Zara&LastName=Ali.

可以訪問參數(shù)FirstName和LastName使用CGI#[]如下:

#!/usr/bin/rubyrequire 'cgi'cgi = CGI.newcgi['FirstName'] # => ["Zara"]cgi['LastName'] # => ["Ali"]

還有另一種方法來訪問這些表單變量。此代碼會給出所有的項和值的哈希值:

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

以下是代碼來檢索所有的鍵:

#!/usr/bin/rubyrequire 'cgi'cgi = CGI.newcgi.keys     # => ["FirstName", "LastName"]

如果表單包含多個具有相同名稱的字段,對應(yīng)的值將被返回到腳本中為一個數(shù)組。[]存取器返回這些的只是第一個。

在這個例子中,假設(shè)名為“name”的表單有三個字段,我們輸入了三個名字 "Zara", "Huma" and "Nuha":

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

注:Ruby的會自動處理GET和POST方法。沒有單獨的處理這兩種不同的方法。

一個相關(guān)的,但基本形式,可以發(fā)送正確的數(shù)據(jù),將有HTML代碼,就像這樣:

<html><body><form method="POST" action="http://www.example.com/test.cgi">First Name :<input type="text" name="FirstName" value="" /><br />Last Name :<input type="text" name="LastName" value="" /> <input type="submit" value="Submit Data" /></form></body></html>

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

CGI包含大量的方法用于創(chuàng)建HTML。會發(fā)現(xiàn)每個標(biāo)簽的方法之一。為了使這些方法,必須通過調(diào)用CGI.new創(chuàng)建一個CGI對象。

為了使標(biāo)簽更容易嵌套,這些方法拿自己的內(nèi)容作為代碼塊。代碼塊返回一個字符串,這將在作為標(biāo)簽的內(nèi)容。例如:

#!/usr/bin/rubyrequire "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類的方法可以接受的方法參數(shù),這將設(shè)置HTTP方法(GET,POST等)上使用的表單提交。缺省情況下,在這個例子中使用的是POST。

這將產(chǎn)生以下結(jié)果:

Content-Type: text/htmlContent-Length: 302<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Final//EN"><HTML><HEAD><TITLE>This Is a Test</TITLE></HEAD><BODY><FORM METHOD="post" ENCTYPE="application/x-www-form-urlencoded"><HR><H1>A Form: </H1><TEXTAREA COLS="70" NAME="get_text" ROWS="10"></TEXTAREA><BR><INPUT TYPE="submit"></FORM></BODY></HTML>

引用字符串:

當(dāng)處理URL和HTML代碼,您必須謹(jǐn)慎地引用一些字符。例如,一個斜杠字符(/)在URL中具有特殊的意義,所以它必須被轉(zhuǎn)義,如果它不是部分路徑名。

例如,/查詢URL部分將被翻譯成字符串%2F/,使用它時必須翻譯。空間和與符號特殊字符。為了處理這個問題,CGI提供:在例行程序 CGI.escape 和 CGI.unescape.

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

這將產(chǎn)生以下結(jié)果:

Zara+Ali%2FA Sweet+%26+Sour+Girl")#!/usr/bin/rubyrequire 'cgi'puts CGI.escapeHTML('<h1>Zara Ali/A Sweet & Sour Girl</h1>')

這將產(chǎn)生以下結(jié)果:

&lt;h1&gt;Zara Ali/A Sweet & Sour Girl&lt;/h1&gt;'

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院
国产麻豆精品一区二区三区v视界| 国产特黄在线| 国产精品99999| 国产专区在线播放| 在线观看av网站| 国产精品久久久久久福利| 国产亚洲依依| 99热免费在线观看| 一本大道久久a久久精品| 精品极品三级久久久久| av片在线观看| 久草福利资源在线视频| 五月天亚洲激情| 国产精选一区二区三区不卡催乳| 欧美日韩**字幕一区| 九九视频九九热| 天堂在线免费观看| 国产超碰97| www在线视频观看| 欧美日韩一区二区三区视视频 | 99久久99热久久精品免费看| 91视频久色| 国内外激情在线| 国产精品麻豆一区二区三区| 在线激情小视频| 成人欧美亚洲| eeuss影院在线观看| 99视频资源网| 在线播放国产区| 五月婷婷导航| 日本欧洲一区| 狠狠操天天操夜夜操| 91国内精品久久久久| 就爱干草视频| av影视在线看| 国产香蕉在线| 九七电影韩国女主播在线观看| 中文字幕亚洲免费| 国产在线色视频| wwwww在线观看免费视频| 136福利第一导航国产在线| 久久久久国产精品嫩草影院| 影音av资源站| 国产二区视频在线观看| 天堂在线一二区 | 国产剧情av在线| 在线视频99| 国产对白国语对白| 国产精品探花在线| 久久久久久久久久久久久91| 在线视频观看国产| 91午夜在线| 精品成人免费自拍视频| 91高清国产| 99中文字幕一区| 一本大道香蕉8中文在线视频| 国产porny蝌蚪视频| 国产精品va在线观看视色| 97视频在线| 国产l精品国产亚洲区在线观看| 国产精品免费视频二三区| 国产黄色在线看| 精品麻豆国产| 麻豆精品视频入口| 国产一级二级在线| √天堂资源中文www| 亚洲精品aaaa精品| 国产精品一区二区婷婷| 国产高清av| 国产在线拍揄自揄拍视频| 国产高清视频免费最新在线| 开心快乐六月丁香婷婷| 国产特黄在线| 日本亚洲欧美| 黄色片大全在线观看| 久久亚洲国产成人亚| 天天操天天艹| 国产在线传媒| 久草亚洲一区| 福利在线国产| 国产一级免费黄色片| www在线视频观看| 国产午夜视频在线观看| 国产尤物视频在线| 九九热在线观看视频| sese在线视频| 狠狠干天天爱| 久热国产在线| 丁香花高清在线观看完整版 | 136福利第一导航国产在线| www免费在线观看| 九色视频网站| 国产欧美日韩专区| 尤物在线精品视频| 黄色在线视频观看网站| 国产无遮挡在线视频免费观看| 国产精品入口麻豆免费观看| √天堂资源中文www| 久久精品视频免费看| 国产精品麻豆一区二区三区 | 欧美xxxxx性| 97人人在线| www免费在线观看视频| 久热精品视频在线播放| 最近中文字幕mv免费高清电影 | 看成年女人免费午夜视频| 在线成人综合色一区| 国产69精品久久久久孕妇国产69久久 | 精品视频三区| 日本国产在线| 亚洲精品乱码电影在线观看| 中文字幕视频在线免费| av在线免费观看网| 99视频免费| 国产在线日本| 欧美艹逼视频| 国产成人天天5g影院| 亚洲а∨精品天堂在线| 日本h视频在线观看| 国产超碰在线观看| 国产毛片毛片| yjizz视频网站在线播放| 国产日本在线视频| 精品美女调教视频| 中文字幕成人乱码在线电影| av网站大全在线| 青草青在线视频| a级在线观看| av片在线观看永久免费| 91社区在线观看| 精品一区二区三区在线观看l| 最近中文字幕mv免费高清电影| 狠狠操狠狠色| 国产私拍精品| 在线观看免费高清完整| 国产福利在线播放麻豆| 国产三级在线免费观看| 国产精品二线| 国产探花在线观看| 日本中文字幕在线视频| 中文字幕久热在线精品| 精品推荐国产麻豆剧传媒| 国产国产人免费人成免费视频| 最新黄网在线观看| 国产一卡2卡3卡4卡网站免费| 久久99精品久久久久久野外| 免费a在线看| 国产私人尤物无码不卡| 国产小视频在线观看| 青青草中文字幕| 久久国产热视频| 成人超碰在线| 国产情侣高潮对白| 国产美女视频网站| 国产精品国精产品一二| 国产日韩精品在线看| 免费黄网站在线观看| 国产免费人人看| av免费在线观| 国产野外战在线播放| 国产91久久久久蜜臀青青天草二| 精品视频三区| 国产免费福利网站| 久热av在线| 在线观看av中文| 国产视频福利在线| 欧美亚洲天堂| 国产欧美久久久久久久久| 国产经典av| 欧美日韩久久中文字幕| www.三区| 中文资源在线官网| 天堂中文字幕在线| 欧美色欧美亚洲另类二区精品| 国产日产一区二区三区| 九九99九九精彩| 精品一区二区91| 日本片在线看| 亚洲综合激情六月婷婷在线观看| 国产秒拍福利视频露脸| 亚洲an天堂an在线观看| 国产丝袜自拍| 国产字幕在线看| 亚洲第一页在线播放| 热99re久久精品这里都是免费| 国产精品视频二区三区| 国产乱码在线| 国产男女猛烈无遮挡免费视频| 日本高清中文字幕在线| 亚洲sss视频| 国产黄色一级片| 日本不卡影院| 免费在线黄色av| 免费看黄视频网站| 毛片视频免费观看| 青青草在线播放| sese在线视频| 国产又色又爽又黄刺激在线视频| 国产精品一品| 国产日韩欧美精品一区二区三区|