Inhaltsverzeichnis
Zara Ali/A Sweet & Sour Girl
Heim Backend-Entwicklung Python-Tutorial 简单介绍Ruby中的CGI编程

简单介绍Ruby中的CGI编程

Jun 10, 2016 pm 03:15 PM
ruby

Ruby 是一门通用的语言,不仅仅是一门应用于WEB开发的语言,但 Ruby 在WEB应用及WEB工具中的开发是最常见的。

使用Ruby您不仅可以编写自己的SMTP服务器,FTP程序,或Ruby Web服务器,而且还可以使用Ruby进行CGI编程。

接下来,让我们花点时间来学校Ruby的CGI编辑。
编写 CGI 脚本

最脚本的 Ruby CGI 代码如下所示:

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

你可以将该代码保持到 test.cgi 文件中,上次到服务器并赋予足够权限,即可作为 CGI 脚本执行。

如果你站的的地址为http://www.example.com/ ,即可用过http://www.example.com/test.cgi 访问该程序,输出结果为: "This is a test."。

浏览器访问该网址后,Web 服务器会在站点目录下找到 test.cgi文件,然后通过Ruby解析器来解析脚本代码并访问HTML文档。
使用 cgi.rb

Ruby 可以调用 CGI 库来编写更复杂的CGI脚本。

以下代码调用了 CGI 库来创建一个脚本的CGI脚本。

#!/usr/bin/ruby
 
require 'cgi'
 
cgi = CGI.new
puts cgi.header
puts "<html><body>This is a test</body></html>"
Nach dem Login kopieren

以下代码中,创建了CGI 对象并打印头部信息。
表单处理

使用CGI库可以通过两种方式获取表单提交(或URL中的参数)的数据, 例如URL:/cgi-bin/test.cgi?FirstName=Zara&LastName=Ali。

你可以使用 CGI#[] 来直接获取参数FirstName和LastName:

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

另外一种获取表单数据的方法:

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

以下代码用于检索所有的键值:

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

如果表单包含了多个相同名称的字段,则该相同字段的值将保存在数组中。

以下实例中,指定表单中三个相同的字段"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"]}
Nach dem Login kopieren

注意:Ruby 会自动判断 GET 和 POST 方法,所以无需对两种方法区别对待。

以下是相关的HML代码:

<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>
Nach dem Login kopieren

创建 Form 表单和 HTML

CGI 包含了大量的方法来创建 HTML,每个HTML标签都有相对应的方法。 在使用这些方法前,比必须通过 CGI.new 来创建 CGI 对象。

为了使标签的嵌套更加的简单,这些方法将内容作为了代码块,代码块将返回字符串作为标签的内容。如下所示:

#!/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
     }
   }
  }
}
Nach dem Login kopieren

字符串转义

当你在处理 URL 中的参数或者 HTML 表单数据时,需要对指定的特殊字符进行转义,如:引号("),反斜杠(/)。

Ruby CGI 对象提供了CGI.escape 和 CGI.unescape 方法来处理这些特殊字符的转义:

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

以上代码执行结果如下:

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

另一组实例:

#!/usr/bin/ruby
 
require 'cgi'
puts CGI.escapeHTML('<h1 id="Zara-Ali-A-Sweet-Sour-Girl">Zara Ali/A Sweet & Sour Girl</h1>')
Nach dem Login kopieren

以上代码执行结果如下:

<h1 id="Zara-Ali-A-Sweet-Sour-Girl">Zara Ali/A Sweet & Sour Girl</h1>'
Nach dem Login kopieren

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Warum haben Python, Ruby und andere Sprachen den Inkrementoperator abgelehnt? Warum haben Python, Ruby und andere Sprachen den Inkrementoperator abgelehnt? May 11, 2023 pm 04:37 PM

Vielen Menschen ist möglicherweise ein Phänomen aufgefallen, nämlich dass in einigen modernen Programmiersprachen (natürlich nicht in Bezug auf „neue“ Programmiersprachen) die Inkrementierungs- und Dekrementierungsoperatoren abgeschafft wurden. Mit anderen Worten, es gibt in diesen Sprachen keinen Ausdruck wie i++ oder j--, sondern nur i+=1 oder j-=1. Ein solcher Ausdruck. In dieser Antwort werden die Hintergründe und Gründe für dieses Phänomen aus der Perspektive der Designphilosophie untersucht. Streng genommen könnte die Aussage „i++ verschwindet“ voreingenommen sein, da es den Anschein hat, dass nur Python, Rust und Swift unter den Mainstream-Programmiersprachen die Inkrement- und Dekrementoperatoren nicht unterstützen. Als ich zum ersten Mal mit Python in Kontakt kam, war dies auch der Fall

Eingehende Analyse der Ähnlichkeiten und Unterschiede zwischen Golang und Ruby Eingehende Analyse der Ähnlichkeiten und Unterschiede zwischen Golang und Ruby Jun 01, 2024 pm 08:46 PM

Der Hauptunterschied zwischen Go und Ruby besteht darin, dass Go eine statisch typisierte kompilierte Sprache ist, die leichte Parallelität und effiziente Speicherverwaltung unterstützt, und sich zum Schreiben von Anwendungen mit hoher Parallelität eignet. Ruby ist eine dynamisch typisierte interpretierte Sprache, die echte Parallelität, aber Speicherverwaltung unterstützt erfordert eine manuelle Steuerung und eignet sich zum Schreiben flexibler Webanwendungen.

Wie nutzt Ruby die MySQL2-Verbindung, um MySQL zu betreiben? Wie nutzt Ruby die MySQL2-Verbindung, um MySQL zu betreiben? Apr 17, 2023 pm 10:07 PM

Ruby betreibt MySQL mit MySQL2, um eine Verbindung zu MySQL herzustellen und MySQL zu betreiben. geminstallmysql2 stellt eine Verbindung zu MySQL her, um eine Verbindung herzustellen: require'mysql2'conn=Mysql2::Client.new({host:'192.168.200.73',username:'root',password:'P@ssword1!'}) Die akzeptierte Verbindung Zu den Optionen gehören: Mysql2::Clie

So implementieren Sie mit MySQL und Ruby eine einfache Datenanalyse-Berichtsfunktion So implementieren Sie mit MySQL und Ruby eine einfache Datenanalyse-Berichtsfunktion Sep 20, 2023 pm 05:09 PM

So implementieren Sie mit MySQL und Ruby eine einfache Datenanalyse-Berichtsfunktion. Einführung: Im heutigen datengesteuerten Zeitalter spielt die Datenanalyse eine entscheidende Rolle bei der Entscheidungsfindung und Entwicklung von Unternehmen. Als wichtiger Bestandteil der Datenanalyse sind Datenanalyseberichte von großer Bedeutung für die Organisation, Visualisierung und Interpretation von Daten. In diesem Artikel wird erläutert, wie Sie mithilfe von MySQL und Ruby eine einfache Datenanalyse-Berichtsfunktion implementieren, und entsprechende Codebeispiele bereitstellen. 1. Datenbankdesign und Tabellenerstellung müssen Datenanalyse- und Berichtsfunktionen realisieren

So implementieren Sie eine einfache Datenkonvertierungsfunktion mit MySQL und Ruby So implementieren Sie eine einfache Datenkonvertierungsfunktion mit MySQL und Ruby Sep 21, 2023 am 08:07 AM

So implementieren Sie mit MySQL und Ruby eine einfache Datenkonvertierungsfunktion. In der tatsächlichen Entwicklungsarbeit ist häufig eine Datenkonvertierung erforderlich, um ein Datenformat in ein anderes zu konvertieren. In diesem Artikel wird erläutert, wie Sie mithilfe von MySQL und Ruby eine einfache Datenkonvertierungsfunktion implementieren, und es werden spezifische Codebeispiele bereitgestellt. Zuerst müssen wir die MySQL- und Ruby-Umgebungen installieren und konfigurieren. Stellen Sie sicher, dass Sie eine MySQL-Datenbank installiert haben und über die Befehlszeile oder andere Tools eine Verbindung zur Datenbank herstellen können. Darüber hinaus müssen Sie installieren

So entwickeln Sie Echtzeit-Protokollanalysefunktionen mit Redis und Ruby So entwickeln Sie Echtzeit-Protokollanalysefunktionen mit Redis und Ruby Sep 21, 2023 am 08:57 AM

So entwickeln Sie mit Redis und Ruby Echtzeit-Protokollanalysefunktionen Mit der Entwicklung des Internets werden immer mehr Informationen in Form von Protokollen aufgezeichnet. Die Analyse dieser Protokolle ist sehr wertvoll und kann uns helfen, den Betrieb des Systems zu verstehen, Probleme zu entdecken, die Leistung zu optimieren usw. In diesem Artikel stellen wir vor, wie man mit Redis und Ruby eine Echtzeit-Protokollanalysefunktion entwickelt. Installieren Sie Redis und Ruby. Zuerst müssen wir Redis- und Ruby-Umgebungen installieren. Redis ist eine In-Memory-Datenbank

So implementieren Sie ein einfaches Abstimmungssystem mit MySQL und Ruby So implementieren Sie ein einfaches Abstimmungssystem mit MySQL und Ruby Sep 20, 2023 pm 12:37 PM

So implementieren Sie ein einfaches Abstimmungssystem mit MySQL und Ruby. Ein Abstimmungssystem ist eine gängige Online-Anwendung, mit der Benutzermeinungen zu einem Thema oder Thema gesammelt werden. In diesem Artikel stellen wir vor, wie Sie mithilfe der MySQL-Datenbank und der Programmiersprache Ruby ein einfaches Abstimmungssystem implementieren. Zuerst müssen wir die Umgebung vorbereiten. Stellen Sie sicher, dass Sie die MySQL-Datenbank installiert haben und über eine Ruby-Programmierumgebung verfügen. Wenn es noch nicht installiert ist, können Sie es von der offiziellen Website herunterladen und den Anweisungen zur Installation folgen. Als nächstes brauchen wir

So ändern Sie die Sättigung eines Bildes mit Imagick in PHP So ändern Sie die Sättigung eines Bildes mit Imagick in PHP Jul 31, 2023 pm 12:18 PM

So ändern Sie mit Imagick die Sättigung eines Bildes in PHP. Einführung: Sättigung bezieht sich auf die Reinheit und Lebendigkeit der Farben im Bild. Sie hat einen wichtigen Einfluss auf die sensorische Wirkung des Bildes. In PHP können wir die Imagick-Bibliothek verwenden, um die Sättigung des Bildes zu ändern und den Bildeffekt anzupassen. In diesem Artikel erfahren Sie, wie Sie mit Imagick in PHP die Sättigung eines Bildes ändern, und fügen relevante Codebeispiele bei. 1. Installieren Sie die Imagick-Bibliothek. Bevor Sie beginnen, müssen Sie zunächst sicherstellen, dass sie auf dem Server installiert ist.

See all articles