在windowsnt上实现cgi

来源:网页教学基地 时间:2007-02-27 01:21:51  浏览次数:0
World Wide Web的最大好处之一是能与Internet上的用户交互,以获得和提供不同的信息。由于这种信息的动态本质,仅有静态的HTML页面是不够的,还需要有一种方法来向访问Web站点以获取所需信息的用户显示动态信息。CGI能满足你这种对动态信息的需求。CGI代表CommonGateway Interface(公共网关接口)。在WWW网站中的反馈表单、E-mail表单、数据库查询接口、Web页面计数器、搜索工具,聊天室、电子论坛等常见的应用都是CGI程序。
  
  CGI程序又叫做CGI脚本(script),几乎任何一种编程语言都可以用来写CGI脚本,常用的有C/C++、Visual Basic、Perl、UNIXShell等,其中功能最强大、应用最广的是Perl。用Perl写的CGI脚本叫perlscript,一般以.pl为后缀。
  
  CGI程序是驻留于网络服务器上的,目前非常流行的网络服务器平台是Windows NT4.0,采用的服务器软件是IIS(InternetInformation Server),Windows NT+IIS就是当前很流行的Web服务器环境。
  
  本文主要讨论在Windows NT上调试和实现CGI/ Perl script。
  
  因为CGI程序能实现客户端与服务器之间的信息交流,这同时也带来了安全性问题。为了便于统一管理,一般将CGI脚本放置于系统的cgi-bin目录下,此目录对于普通用户只有调用执行的权限,目录权限由服务器管理员设置。在Windwos NT+IIS系统中,cgi-bin目录一般在安装IIS时就自动建立了,它的位置一般在c:inetpubwwwrootwelcomecgi-bin,这个目录是在Internetinformation sevice manager(IIS的一个功能模块)中是已经登记好的,如果没有这个目录,就需进行手工登记,可按如下步骤进行:
  
  ·启动Internet Service Manager。
  
  ·选择WWW信息发布服务,双击或使用鼠标右键选择ServiceProperties。
  
  ·在WWW信息发布服务属性(Publishing Service Properties)
  窗口中选择Directories子窗口。
  
  ·用鼠标点击Add按钮,打开目录属性(Directory Properties)
  对话框。
  
  ·在目录属性(Directory Properties)对话框的第一栏Directory用键盘输入需建立目录映射的目录路径(c:inetpubwwwrootwelcomecgi-bin),选中Visual Directory在别名(alias)中键入cgi-bin,并选中Access中的Execute复选框,最后确定(ok)。
  
  目录映射建立好以后,将写好的script.pl脚本复制到:
  inetpubwwwrootwelcomeegi-bin目录中,这样当使用http://web.site.name/cgi-bin/script.pl的URL时,就可以在浏览器上调用服务器http://web.site.name上的c:inetpubwwwrootwelcomecgi-bin目录下的script.pl脚本。
  
  因为script.pl是由Perl语言写成的,还必须在Windows NT上安装Perl语言脚本解释器perl.exe,这是一个免费的软件包,可以从网站http://www.perl.com处下载,下载过来的是一个自解压的压缩文件,将文件解压缩后运行其中的install.bat文件,会自动将perl解释器安装到c:perl目录下,perl.exe就在c:perlbin目录下。这时对注册表的修改应已自动完成,但有时也可能需要手工修改建立脚本映射。方法如下:
  
  ·打开Windows NT中的regedt32.exe文件。
  
  ·进入注册表目录hkey-local-machinesystemcurrentcontrolsetservicesw3svcparametersscriptmap,查看是否有键值.pl:REG_SZ:c:perlbinpinperl.exe%s%s,如果没有则需手工添加。打开regedt32.exe的edit菜单,选择add valve,在addvalve对话框中的数据类型选为REG_SZ,并输入需建立脚本映射的文件后缀.pl,在提示输入键值字符串时输入c:perlbinperl.exe%s%s,确定后重新启动www服务器即可。
  
  CGI脚本直接拷入cgi-bin目录即可,需要注意的一点是,在perl脚本的第一行必须注明perl解释器的位置,有时还需加上脚本的名称(如#!/perl/bin/perl.exe script.pl)。


最近相关
推荐文章