论坛: 网站建设 标题: 如何取得forum的传递变量与值(CGI:stdin) 复制本贴地址    
作者: Aoming [aoming]    版主   登录
aoming认为到目前为止,问题已有明确答案,本贴已被冻结,不再接受更多的回复

主  题: 在WINDOWS下FORM的值的获得?在线等待。 
作  者: null2002 (野指针) 
发表时间: 2002-12-17 18:30:51 
(在csdn.net的一个讨论)



服务器是WINDOWS,如果获得表单提交的值?在UNIX下是用STDIN,在WINDWS下呢?是不是在某个文件下? 



回复人: AllCHN(大中国) ( ) 信誉:100 2002-12-17 23:23:06 得分:0 



其实在 UNIX 下也未必完全是用 STDIN,采用的语言有很大关系,如果用 C,在 Windows 下也用 STDIN,而用其它的语言,比如 Perl,Python 等则会有其它多种更好的方法。 





Top 

回复人: sandyuk(冰雨沙隆) ( ) 信誉:100 2002-12-18 18:39:33 得分:0 



大至是吧, 
要看用什么语言了。 



Top 

回复人: tsingson(公司三明治) ( ) 信誉:100 2003-01-15 19:47:00 得分:0 


全部都用 stdin 取数据,因为 web server 只要遵守 CGI 1.0 或 1.1 都遵守同样的规范。 注意: 你的程序只要是 CGI 应该都是在 web server 服务器环境下运行,那些变量都是 web server 服务下的变量,是在web 服务运行时产生和变化的。 

相关内容是 

CGI(Common Gateway Interface: 公用网关接口)规定了Web服务器调用其他可执行程序(CGI程 序)的接口协议标准。Web服务器通过调用CGI程序实现和Web浏览器的交互,也就是CGI程序接受Web浏览器发送给Web服务器的信息,进行处理,将响应结果再回送给Web服务器及Web浏览器。CGI程序一般完成Web网页中表单(Form)数据的处理、数据库查询和实现与传统应用系统的集成等工作。CGI程序可以用任何程序设计语言编写,如Shell脚本语言、Perl、Fortran、Pascal、C语言等。但是用C语言编写的CGI程序具有执行速度快、安全性高(因为C语言程序是编译执行且不可被修改)等特点。 

  CGI接口标准包括标准输入、环境变量、标准输出三部分。 
  1.标准输入 
  CGI程序像其他可执行程序一样,可通过标准输入(stdin)从Web服务器得到输入信息,如Form中的数据,这就是所谓的向CGI程序传递数据的POST方法。这意味着在操作系统命令行状态可执行CGI程序,对CGI程序进行调试。POST方法是常用的方法,本文将以此方法为例,分析CGI程序设计的方法、过程和技巧。 

  2.环境变量 
操作系统提供了许多环境变量,它们定义了程序的执行环境,应用程序可以存取它们。Web服务器和CGI接口又另外设置了自己的一些环境变量,用来向CGI程序传递一些重要的参数。CGI的GET方法还通过 环境变量QUERY-STRING向CGI程序传递Form中的数据。 

  3.标准输出 
  CGI程序通过标准输出(stdout)将输出信息传送给Web服务器。传送给Web服务器的信息可以用各种格式,通常是以纯文本或者HTML文本的形式,这样我们就可以在命令行状态调试CGI程序,并且得到它们的输出 


所以,所有语言都是从 stdin 取数据。 
至于具体实现,每种语言可能在语言内已经处理了从 stdin 取数据,而提供给你更易记或易用的方式 

如果你用 perl 进行 CGI 编程,请你试一下用 perlbuilder 2.0 中文 
从菜单有直接取变量的代码,一看就明白 

当然,如果使用 CGI.pm, 那么只要以下语句,因为 CGI.pm 已经帮你处理好了。 

use CGI; 

my $cgi = new CGI; 

my $var_name_at_form = $cgi->param('var_name_at_form'); 



[此贴被 Aoming(aoming) 在 08月06日11时18分 编辑过]

地主 发表时间: 08/03 21:51

论坛: 网站建设

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号