CGI脚本可以是简单的,也可以是复杂的。它可以是Perl、Java、Python或任何编程语言。在其核心,CGI应用程序只是通过HTTP(通常是web浏览器)接受请求并返回HTML。让我们看一个简单的Perl Hello World CGI脚本,并将其分解为最简单的表单。

'Hello World'CGI Perl脚本

#!/usr/bin/perlprint "Content-type: text/html\n\n";print <<HTML;<html><head><title>A Simple Perl CGI</title></head><body><h1>A Simple Perl CGI</h1><p>Hello World</p></body>HTMLexit;

如果您在命令行上运行该程序,您将看到它所做的正是您所期望的。首先,它打印内容类型行,然后打印原始HTML。为了在web浏览器中看到它的运行情况,您需要将脚本复制或上载到web服务器,并确保权限设置正确(*nix systems上的chmod 755)。一旦设置正确,您应该能够浏览到它,并在服务器上看到实时显示的页面。

关键行是第一个print语句:

print "Content-type: text/html\n\n";

这告诉浏览器,这两个换行之后的文档将是HTML。您必须发送一个标题,以便浏览器知道接下来的文档类型,并且必须在标题和实际文档之间包含空行。

发送头之后,只需要发送HTML文档本身。在上面的例子中,我们使用here-doc来简化打印一大块纯文本。当然,这与服务器上有一个纯HTML文档没有什么不同。当您添加一些奇特的Perl编程时,使用Perl之类的编程语言来创建HTML的真正威力就来了。

添加到基本脚本中

在下一个示例中,让我们使用这个时间和日期脚本的一部分,并将其添加到web页面中。

 #!/usr/bin/perl@months = qw(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec);@weekDays = qw(Sun Mon Tue Wed Thu Fri Sat Sun);($second, $minute, $hour, $dayOfMonth, $month, $yearOffset, $dayOfWeek, $dayOfYear, $daylightSavings) = localtime();$year = 1900 + $yearOffset;$theTime = "$weekDays[$dayOfWeek] $months[$month] $dayOfMonth, $year";print "Content-type: text/html\n\n";print <<HTML;<html><head><title>A Simple Perl CGI</title></head><body><h1>A Simple Perl CGI</h1><p>$theTime</p></body>HTMLexit;

这个新的CGI脚本将在每次调用脚本时将当前日期插入页面。换句话说,它变成了一个随着日期变化而变化的动态文档,而不是静态文档。

更多相关文章

  1. go语言是脚本语言吗
  2. 解析php DOMElement 操作xml 文档的实现代码
  3. 给XML文档添加新 ”records”
  4. XML解析之sax解析案例(二)使用sax解析把 xml文档封装成对象
  5. XML解析之sax解析案例(一)读取contact.xml文件,完整输出文档内容
  6. Dom4j修改xml文档引入
  7. 根据Schema写出XML文档四部曲
  8. xml学习(2)xml文档树结构图
  9. 灵活调用xsl来解析xml文档(js异步)

随机推荐

  1. Android访问本地服务器(localhost)的解决方
  2. Android开发 Handler+ExecutorService(线
  3. Android中修改系统时间的几种方式
  4. Android之DiskLruCache(缓存工具)
  5. Android客户端向服务器端传值——登录实
  6. android开发随记 - Google Map
  7. windows下Qt5.1 for android开发环境配置
  8. 使用PC端chrome 浏览器远程连接android设
  9. 谁调用了activity的oncreate()方法
  10. [转]Android SDK升级时的错误及解决方法