国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

用Ruby進行CGI編程的入門指引

2019-10-26 19:26:41
字體:
來源:轉載
供稿:網友

編寫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>"

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

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

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

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

讓我們創建一個基本的CGI使用CGI腳本:

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

在這里,創建了一個CGI對象,并用它來打印標題行。
表單處理:

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

可以訪問參數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"]

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

在這個例子中,假設名為“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方法。沒有單獨的處理這兩種不同的方法。

一個相關的,但基本形式,可以發送正確的數據,將有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>            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 台湾省| 灵山县| 库车县| 清苑县| 兴化市| 额尔古纳市| 弋阳县| 阳曲县| 泽普县| 招远市| 板桥市| 怀仁县| 古蔺县| 丰顺县| 凯里市| 本溪| 香港 | 浦城县| 兴国县| 赤城县| 江源县| 阜南县| 涞源县| 麟游县| 瑞昌市| 疏勒县| 瑞安市| 武邑县| 定结县| 晋城| 徐州市| 余江县| 四川省| 丁青县| 凉城县| 运城市| 安乡县| 平阴县| 吴川市| 泸溪县| 永宁县|