最专业的代练平台开发!

资讯热点
如何使用CGI脚本生成网页

发布时间:2023-5-1 分类: 行业资讯

通用网关接口(CGI)提供了一种以任何语言生成动态网站的简便方法。

回到互联网的开头,当我第一次创建我的第一个商业网站时,生活是如此美好。

我安装了Apache并编写了一些简单的HTML页面,其中列出了有关我的业务的一些重要信息,例如产品概述以及如何与我联系。这是一个静态网站,因为内容很少改变。由于网站内容很少更改,因此很容易维护。

静态内容

静态内容简单而常见。让我们快速浏览一下静态网页的一些例子。您不需要可运行的网站来执行这些小型实验,只需将这些文件放在主目录中并使用浏览器打开它们即可。您看到的内容与您通过Web服务器看到的内容相同。

静态网站需要的第一件事是index.html文件,它通常放在/var/www/html目录中。这个文件的内容可以很简单,例如,它可以是一个简短的文字,如“Hello,world”。没有任何HTML标记。它只会显示文本字符串内容。在您的主目录中创建一个index.html文件并添加“hello,world”作为内容(不需要引号)。使用以下链接在浏览器中打开此文件:

文件: ///home /<您的主目录> /index.html

所以HTML不是必需的,但是如果你有很多需要格式化的文本,那么不使用HTML编码的页面结果将很难理解。

因此,下一步是通过使用一些HTML编码来提供格式化,以使内容更具可读性。以下命令创建一个页面,其中包含HTML静态网页所需的绝对最小标记。您也可以使用自己喜欢的编辑器创建此内容。

Echo'< h1> Hello World</h1>' > test1.html

现在,再次查看index.html文件,您将看到与刚才不同的东西。

当然,您可以在实际内容行中添加大量HTML标记,以形成更完整和标准的网页。下面显示的是一个更完整的版本,虽然浏览器中会显示相同的内容,但它也为更标准化的网站奠定了基础。继续在index.html中编写此内容并通过浏览器查看。

<!DOCTYPE HTML PUBLIC' - //w3c //DD HTML 4.0 //EN'>

< HTML>

< HEAD>

< title>我的网页</title>

< /头>

<身体GT;

< h1> Hello World</h1>

< /体>

</HTML>

我使用这些技术来构建一些静态网站,但我的生活正在改变。

动态网页

我找到了一份新工作,这项工作的主要任务是为动态网站创建和维护CGI(Common Gateway InterfaceM)代码。从字面上看,动态意味着每次访问页面时,浏览器中生成的网页所需的HTML都是由不同的数据生成的。数据包括用于在数据库中进行数据查找的Web表单中的用户输入,并且结果数据被一些适当的HTML包围并显示在所请求的浏览器中。但这并不需要非常复杂。

通过使用CGI脚本,您可以创建简单或复杂的交互式程序,这些程序可以根据输入,计算,服务器当前条件等的变化生成动态页面。有许多语言可用于编写CGI脚本。在本文中,我将讨论Perl和Bash。其他流行的CGI语言包括PHP和Python。

本文不涉及Apache或任何其他Web服务器的安装和配置。如果您可以访问可以试验的Web服务器,则可以直接查看它们在浏览器中显示的结果。否则,您可以在命令行上运行该程序以查看它们创建的HTML文本。您还可以将HTML输出重定向到文件,并通过浏览器查看生成的文件。

使用Perl

Perl是一种非常流行的CGI脚本语言,具有强大的文本操作优势。

为了使CGI脚本可执行,您需要将以下行添加到站点的httpd.conf中。这告诉服务器在哪里执行CGI文件。在这个实验中,不要担心这个问题。

ScriptAlias/cgi-bin /'/var/www/cgi-bin /'

将以下Perl代码添加到文件index.cgi中。在此实验中,此文件应放在您的主目录中。如果使用Web服务器,则应将文件的所有者更改为apache.apache,并将文件权限设置为755,因为无论文件位于何处,它都必须是可执行文件。

!的/usr /斌/perl的

打印'内容类型: text/html“;

打印'< html>< body>“;

打印'< h1> Hello World</h1>“;

打印'使用Perl< p>“;

打印'</body></html>“;

在命令行上运行此程序并查看结果,它将显示它生成的HTML内容

现在查看浏览器中的index.cgi文件,您看到的只是文件的内容。浏览器需要将其视为CGI内容,但Apache不知道它需要作为CGI程序运行,除非Apache配置包含上面显示的ScriptAlias定义。如果没有这种配置,Apache只会将文件中的数据发送到浏览器。如果您可以访问Web服务器,则可以将可执行文件放在/var/www/cgi-bin目录中。

如果您想知道此脚本在浏览器中的结果,请重新运行程序并将输出重定向到具有所需名称的新文件。然后使用浏览器查看此文件,其中包含脚本生成的内容。

上面的CGI程序仍然生成静态内容,因为它总是产生相同的输出。将以下行添加到CGI程序“ Hello,world”在这条线后面。 Perl的系统命令将执行它后面的shell命令并将结果返回给程序。此时,我们将使用free命令获取当前内存使用情况。

系统'免费| grep Mem“;

现在重新运行程序并将结果重定向到文件并在浏览器中重新加载该文件。您将看到一个额外的行,显示系统的内存统计信息。多次运行程序并刷新浏览器,您会发现内存使用情况应该不断变化。

使用Bash

Bash可能是CGI脚本最简单的语言。使用Bash进行CGI编程的最大优点是可以直接访问所有标准GNU工具和系统程序。

将现有的index.cgi文件重命名为Perl.index.cgi,然后创建一个新的`index.cgi文件并添加以下内容。请记住设置权限以使其可执行。

!/斌/庆典

Echo'Content-type: text/html'

回声''

Echo'< html>'

Echo'< head>'

Echo'< meta http-equiv='Content-Type'content='text/html;字符集=UTF-8' >”

Echo'< title> Hello World</title>'

Echo'</head>'

Echo'< body>'

Echo'< h1> Hello World</h1>< p>'

Echo'使用Bash< p>'

免费| grep Mem

Echo'</body>'

Echo'</html>'

退出0

在命令行上执行此文件并查看输出,然后再次运行它并将结果重定向到临时结果文件。然后,刷新浏览器以查看其显示的页面。

结论

创建生成多种动态网页的CGI程序实际上非常简单。虽然这是一个非常简单的例子,但你现在应该看到一些可能性。

« 京东的毛利率是分拆京东财务的助手吗? | 电子商务基础(1):跳出率和退出率 »