简单介绍Ruby中的CGI编程
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>"
以下代码中,创建了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"]
另外一种获取表单数据的方法:
#!/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"]
如果表单包含了多个相同名称的字段,则该相同字段的值将保存在数组中。
以下实例中,指定表单中三个相同的字段"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 会自动判断 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>
创建 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 } } } }
字符串转义
当你在处理 URL 中的参数或者 HTML 表单数据时,需要对指定的特殊字符进行转义,如:引号("),反斜杠(/)。
Ruby CGI 对象提供了CGI.escape 和 CGI.unescape 方法来处理这些特殊字符的转义:
#!/usr/bin/ruby require 'cgi' puts CGI.escape(Zara Ali/A Sweet & Sour Girl")
以上代码执行结果如下:
#!/usr/bin/ruby require 'cgi' puts CGI.escape(Zara Ali/A Sweet & Sour Girl")
另一组实例:
#!/usr/bin/ruby require 'cgi' puts CGI.escapeHTML('<h1 id="Zara-Ali-A-Sweet-Sour-Girl">Zara Ali/A Sweet & Sour Girl</h1>')
以上代码执行结果如下:
<h1 id="Zara-Ali-A-Sweet-Sour-Girl">Zara Ali/A Sweet & Sour Girl</h1>'

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Beaucoup de gens peuvent remarquer un phénomène, c'est-à-dire que dans certains langages de programmation modernes (bien sûr, sans faire référence aux langages de programmation "récents"), les opérateurs d'incrémentation et de décrémentation ont été annulés. En d'autres termes, il n'existe pas d'expression telle que i++ ou j-- dans ces langages, mais seulement i+=1 ou j-=1. Cette réponse explorera le contexte et les raisons de ce phénomène du point de vue de la philosophie du design. À proprement parler, il peut être biaisé de dire "i++ est en train de disparaître", car il semble que seuls Python, Rust et Swift parmi les langages de programmation traditionnels ne prennent pas en charge les opérateurs d'incrémentation et de décrémentation. Quand je suis entré en contact avec Python pour la première fois, c'était aussi

La principale différence entre Go et Ruby est que Go est un langage compilé à typage statique qui prend en charge un parallélisme léger et une gestion efficace de la mémoire, et convient à l'écriture d'applications à haute concurrence ; Ruby est un langage interprété à typage dynamique qui prend en charge le véritable parallélisme mais la gestion de la mémoire. nécessite un contrôle manuel et convient à l’écriture d’applications Web flexibles.

Ruby exploite MySQL en utilisant mysql2 pour se connecter à mysql et faire fonctionner mysql. geminstallmysql2 se connecte à mysql pour établir une connexion : require'mysql2'conn=Mysql2::Client.new({host:'192.168.200.73',username:'root',password:'P@ssword1!'}) La connexion acceptée les options incluent : Mysql2 ::Clie

Comment utiliser MySQL et Ruby pour implémenter une fonction simple de rapport d'analyse de données Introduction : À l'ère actuelle axée sur les données, l'analyse des données joue un rôle crucial dans la prise de décision et le développement de l'entreprise. En tant qu'élément important de l'analyse des données, les rapports d'analyse des données revêtent une grande importance pour l'organisation, la visualisation et l'interprétation des données. Cet article expliquera comment utiliser MySQL et Ruby pour implémenter une fonction simple de rapport d'analyse de données et fournira des exemples de code correspondants. 1. La conception de la base de données et la création de tableaux doivent réaliser des fonctions d'analyse des données et de reporting

Comment utiliser MySQL et Ruby pour implémenter une fonction de conversion de données simple. Dans le travail de développement réel, la conversion de données est souvent nécessaire pour convertir un format de données en un autre. Cet article explique comment utiliser MySQL et Ruby pour implémenter une fonction de conversion de données simple et fournit des exemples de code spécifiques. Tout d’abord, nous devons installer et configurer les environnements MySQL et Ruby. Assurez-vous qu'une base de données MySQL est installée et que vous pouvez vous connecter à la base de données via la ligne de commande ou d'autres outils. De plus, vous devez installer

Comment utiliser Redis et Ruby pour développer des fonctions d'analyse de logs en temps réel Avec le développement d'Internet, de plus en plus d'informations sont enregistrées sous forme de logs. L'analyse de ces journaux est très précieuse et peut nous aider à comprendre le fonctionnement du système, à découvrir des problèmes, à optimiser les performances, etc. Dans cet article, nous présenterons comment développer une fonction d'analyse de journaux en temps réel à l'aide de Redis et Ruby. Installer Redis et Ruby Tout d'abord, nous devons installer les environnements Redis et Ruby. Redis est une base de données en mémoire

Comment implémenter un système de vote simple à l'aide de MySQL et Ruby Un système de vote est une application en ligne courante utilisée pour recueillir les opinions des utilisateurs sur un problème ou un sujet. Dans cet article, nous présenterons comment utiliser la base de données MySQL et le langage de programmation Ruby pour implémenter un système de vote simple. Premièrement, nous devons préparer l’environnement. Assurez-vous d'avoir installé la base de données MySQL et de disposer d'un environnement de programmation Ruby. S'il n'est pas encore installé, vous pouvez le télécharger depuis le site officiel et suivre les instructions pour l'installer. Ensuite, nous avons besoin

Comment utiliser Imagick pour changer la saturation d'une image en PHP Introduction : La saturation fait référence à la pureté et à la vivacité des couleurs de l'image. Elle a un impact important sur l'effet sensoriel de l'image. En php, on peut utiliser la bibliothèque Imagick pour changer la saturation de l'image et ajuster l'effet de l'image. Cet article expliquera comment utiliser Imagick en php pour modifier la saturation d'une image et joindra des exemples de code pertinents. 1. Installez la bibliothèque Imagick Avant de commencer, vous devez d'abord vous assurer qu'elle est installée sur le serveur.
