返回顶部
首页 > 资讯 > 精选 >怎么使用CGI脚本生成网页
  • 721
分享到

怎么使用CGI脚本生成网页

2023-06-17 02:06:12 721人浏览 八月长安
摘要

小编给大家分享一下怎么使用CGI脚本生成网页,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!通用网关接口(CGI)提供了使用任何语言生成动态网站的简易方法。回到互联

小编给大家分享一下怎么使用CGI脚本生成网页,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

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

回到互联网的开端,当我***次创建了我的***个商业网站,生活是如此的美好。

我安装 Apache 并写了一些简单的 html 网页,网页上列出了一些关于我的业务的重要信息,比如产品概览以及如何联系我。这是一个静态网站,因为内容很少改变。由于网站的内容很少发生改变这一性质,因此维护起来也很简单。

静态内容

静态内容很简单,同时也很常见。让我们快速的浏览一些静态网页的例子。你不需要一个可运行网站来执行这些小实验,只需要把这些文件放到家目录,然后使用浏览器打开。你所看到的内容将和通过 WEB 服务器提供这一文件看到的内容一样。

对于一个静态网站,你需要的***件东西就是 index.html 文件,该文件通常放置在 /var/www/html 目录下。这个文件的内容可以非常简单,比如可以是像 “Hello, world” 这样一句短文本,没有任何 HTML 标记。它将简单的展示文本串内容。在你的家目录创建 index.html 文件,并添加 “hello, world” 作为内容(不需要引号)。在浏览器中通过下面的链接来打开这一文件:

file:///home/<你的家目录>/index.html

所以 HTML 不是必须的,但是,如果你有大量需要格式化的文本,那么,不用 HTML 编码的网页的结果将会令人难以理解。

所以,下一步就是通过使用一些 HTML 编码来提供格式化,从而使内容更加可读。下面这一命令创建了一个具有 HTML 静态网页所需要的绝对最小标记的页面。你也可以使用你最喜欢的编辑器来创建这一内容。

echo "<h2>Hello World</h2>" > test1.html

现在,再次查看 index.html 文件,将会看到和刚才有些不同。

当然,你可以在实际的内容行上添加大量的 HTML 标记,以形成更加完整和标准的网页。下面展示的是更加完整的版本,尽管在浏览器中会看到同样的内容,但这也为更加标准化的网站奠定了基础。继续在 index.html 中写入这些内容并通过浏览器查看。

<!DOCTYPE HTML PUBLIC "-//w3c//DD HTML 4.0//EN"><html><head><title>My Web Page</title></head><body><h2>Hello World</h2></body></html>

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

动态网页

我找了一份新工作,这份工作的主要任务就是创建并维护用于一个动态网站的 CGI(公共网关接口Common Gateway InterfaceM)代码。字面意思来看,动态意味着在浏览器中生成的网页所需要的  HTML 是由每次访问页面时不同的数据所生成的。这些数据包括网页表单中的用户输入,以用来在数据库中进行数据查找,结果数据被一些恰当的 HTML  包围着并展示在所请求的浏览器中。但是这不需要非常复杂。

通过使用 CGI  脚本,你可以创建一些简单或复杂的交互式程序,通过运行这些程序能够生成基于输入、计算、服务器的当前条件等改变的动态页面。有许多种语言可以用来写  CGI 脚本,在这篇文章中,我将谈到的是 Perl 和 Bash ,其他非常受欢迎的 CGI 语言包括 PHPpython

这篇文章不会介绍 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/bin/perlprint "Content-type: text/html\n\n";print "<html><body>\n";print "<h2>Hello World</h2>\n";print "Using Perl<p>\n";print "</body></html>\n";

在命令行中运行这个程序并查看结果,它将会展示出它所生成的 HTML 内容

现在,在浏览器中查看 index.cgi 文件,你所看到的只是文件的内容。浏览器需要将它看做 CGI 内容,但是,Apache 不知道需要将这个文件作为 CGI 程序运行,除非 Apache 的配置中包括上面所展示的 ScriptAlias 定义。没有这一配置,Apache 只会简单地将文件中的数据发送给浏览器。如果你能够访问 Web 服务器,那么你可以将可执行文件放到 /var/www/cgi-bin 目录下。

如果想知道这个脚本的运行结果在浏览器中长什么样,那么,重新运行程序并把输出重定向到一个新文件,名字可以是任何你想要的。然后使用浏览器来查看这一文件,它包含了脚本所生成的内容。

上面这个 CGI 程序依旧生成静态内容,因为它总是生成相同的输出。把下面这行内容添加到 CGI 程序中 “Hello, world” 这一行后面。Perl 的 system 命令将会执行跟在它后面的 shell 命令,并把结果返回给程序。此时,我们将会通过 free 命令获得当前的内存使用量。

system "free | grep Mem\n";

现在,重新运行这个程序,并把结果重定向到一个文件,在浏览器中重新加载这个文件。你将会看到额外的一行,它展示了系统的内存统计数据。多次运行程序并刷新浏览器,你将会发现,内存使用量应该是不断变化的。

使用 Bash

Bash 可能是用于 CGI 脚本中最简单的语言。用 Bash 来进行 CGI 编程的***优势是它能够直接访问所有的标准 GNU 工具和系统程序。

把已经存在的 index.cgi 文件重命名为 Perl.index.cgi,然后创建一个新的 `index.cgi 文件并添加下面这些内容。记得设置权限使它可执行。

#!/bin/bashecho "Content-type: text/html"echo ""echo '<html>'echo '<head>'echo '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">'echo '<title>Hello World</title>'echo '</head>'echo '<body>'echo '<h2>Hello World</h2><p>'echo 'Using Bash<p>'free | grep Memecho '</body>'echo '</html>'exit 0

在命令行中执行这个文件并查看输出,然后再次运行并把结果重定向到一个临时结果文件中。然后,刷新浏览器查看它所展示的网页是什么样子。

以上是“怎么使用CGI脚本生成网页”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网精选频道!

--结束END--

本文标题: 怎么使用CGI脚本生成网页

本文链接: https://lsjlt.com/news/286901.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 怎么使用CGI脚本生成网页
    小编给大家分享一下怎么使用CGI脚本生成网页,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!通用网关接口(CGI)提供了使用任何语言生成动态网站的简易方法。回到互联...
    99+
    2023-06-17
  • 怎么用CGI脚本输出CGI的环境变量
    这篇文章主要介绍“怎么用CGI脚本输出CGI的环境变量”,在日常操作中,相信很多人在怎么用CGI脚本输出CGI的环境变量问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用CGI脚本输出CGI的环境变量”的疑...
    99+
    2023-06-08
  • Shell脚本中怎么获取网页快照并生成缩略图
    Shell脚本中怎么获取网页快照并生成缩略图,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。获取网页快照这里我们用 phantomjs 来实现。关于 phantomjs 的详细用...
    99+
    2023-06-09
  • 怎么批量生成DDL脚本
    这篇文章主要讲解了“怎么批量生成DDL脚本”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么批量生成DDL脚本”吧! 获取用户...
    99+
    2024-04-02
  • sql怎么生成脚本文件
    如何生成 sql 脚本文件?导出架构:使用 select * from information_schema.tables 查询。导出数据:使用 select * f...
    99+
    2024-05-30
  • Shell脚本实现获取网页快照并生成缩略图
    获取网页快照并生成缩略图可分两步进行: 1、获取网页快照 2、生成缩略图 获取网页快照 这里我们用 phantomjs 来实现。关于 phantomjs 的详细用法可参考官方网站。http://phanto...
    99+
    2022-06-04
    网页快照 缩略图 脚本
  • html文件怎么生成网页
    要生成 html 网页,请遵循以下步骤:使用文本或代码编辑器编写 html 代码。创建具有 、 和 标签的基本结构。在 中添加文本、图片等内容。使用 css 设置样式。检查错误。保...
    99+
    2024-04-21
    css sublime
  • SQL2005生成脚本时出错怎么办
    这篇文章将为大家详细讲解有关SQL2005生成脚本时出错怎么办,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。为了将Sql2005的转换为Sql2000的数据库,在生成20...
    99+
    2024-04-02
  • 如何使用PHP生成动态网页
    PHP是一种广泛应用于网页开发的脚本语言,可以与HTML结合使用,通过动态生成网页内容,提供更加丰富和个性化的用户体验。本文将介绍如何使用PHP生成动态网页,并提供具体的代码示例。第一步:设置PHP开发环境在开始编写PHP代码之前,需要确保...
    99+
    2023-10-21
    PHP动态网页 PHP生成网页 PHP网页编程
  • Python playwright怎么自动录制生成脚本
    今天小编给大家分享一下Python playwright怎么自动录制生成脚本的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解...
    99+
    2023-07-05
  • Java生态/Redis中怎么使用Lua脚本
    本篇内容主要讲解“Java生态/Redis中怎么使用Lua脚本”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java生态/Redis中怎么使用Lua脚本”吧!一、安装LUAMac上安装LUA很简...
    99+
    2023-07-05
  • 自动生成linux网卡配置脚本分享
    补充:这是对于第一次添加的网卡有效,如果需要重复添加和删除后自动配置,需要更改脚本,改为根据ip a命令的信息来修改。 #!/bin/bash#update:2013-02-25#author:ihuot...
    99+
    2022-06-04
    自动生成 脚本 网卡
  • 使用python怎么编写一个自动生成sql语句的脚本
    这篇文章主要介绍了使用python怎么编写一个自动生成sql语句的脚本,此处通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考价值,需要的朋友可以参考下:python是什么意思Python是一种跨平台的、具有解释性、编译性、...
    99+
    2023-06-06
  • html网页页脚怎么弄
    通过在 html 代码中添加 元素并填充内容,可以创建一个 html 网页页脚。随后,可以使用 css 样式化页脚,定义其视觉效果,如背景颜色、字体和对齐方式。页脚通常包含版权信息、导...
    99+
    2024-05-22
    css
  • Shell脚本怎样生成随机密码
    这篇文章主要为大家展示了“Shell脚本怎样生成随机密码”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Shell脚本怎样生成随机密码”这篇文章吧。生成随机密码(urandom版本)  #!/bi...
    99+
    2023-06-05
  • VvvebJs怎么简单拖拽即生成网页
    这期内容当中小编将会给大家带来有关VvvebJs怎么简单拖拽即生成网页 ,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。VvvebJs是一个开源的网页拖拽自动生成的JavaScript库,你可以以简单拖拽的...
    99+
    2023-06-05
  • CGI中怎么使用Cookie
    本篇内容介绍了“CGI中怎么使用Cookie”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!CGI中使用Cookie在 http 协议一个很大...
    99+
    2023-06-08
  • java怎么导出insert语句并生成sql脚本
    小编给大家分享一下java怎么导出insert语句并生成sql脚本,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!看代码吧~package com.mtp...
    99+
    2023-06-15
  • shell脚本怎么实现快速生成xml格式
    这篇文章主要介绍“shell脚本怎么实现快速生成xml格式”,在日常操作中,相信很多人在shell脚本怎么实现快速生成xml格式问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”shell脚本怎么实现快速生成xm...
    99+
    2023-06-09
  • Java怎么使用Freemarker生成页面静态化
    本篇内容介绍了“Java怎么使用Freemarker生成页面静态化”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!前言:页面静态化其实就是将原...
    99+
    2023-07-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作