⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cgi跟我学.htm

📁 很经典的CGI编程入门读物
💻 HTM
📖 第 1 页 / 共 5 页
字号:
</P><PRE>if [ ! -z "$WWW_theName" ]; then<SPAN style="DISPLAY: none">北京大学软件与微电子学院超级博客+}/kCnS`1|!Y`x</SPAN><BR><BR><SPAN style="DISPLAY: none">&amp;]p9h:hz,i7A0</SPAN><BR><SPAN style="DISPLAY: none">~1I!N(oLV/A0</SPAN>&nbsp;&nbsp;&nbsp; echo "Hello, "<BR><SPAN style="DISPLAY: none">$AAc!E:|]6I'\6a|Z)V0</SPAN><BR><SPAN style="DISPLAY: none">'q;Ewc.SoX,nM#t0</SPAN><BR><SPAN style="DISPLAY: none">R'uY2P]:Xs0</SPAN>&nbsp;&nbsp;&nbsp; echo $WWW_theName<BR><SPAN style="DISPLAY: none">$Rx!A8Ni0n
F0</SPAN><SPAN style="DISPLAY: none">北京大学软件与微电子学院超级博客nU5E6d4A/p
e9E/z</SPAN><BR><SPAN style="DISPLAY: none">北京大学软件与微电子学院超级博客Ya
E.]z-S8Ff"T</SPAN><BR>else<BR><SPAN style="DISPLAY: none">:V)]$~AF0</SPAN><BR><SPAN style="DISPLAY: none">+rEH,PD0</SPAN><SPAN style="DISPLAY: none">北京大学软件与微电子学院超级博客#Fy*i|3o}SAS</SPAN><BR>&nbsp;&nbsp;&nbsp; echo "You don't have a name?"<BR><SPAN style="DISPLAY: none">j0Z{
_m'F T._5Vq0</SPAN><BR><SPAN style="DISPLAY: none">+aUg4r^j&amp;A0</SPAN><SPAN style="DISPLAY: none">北京大学软件与微电子学院超级博客6lt-A%v _O@x6J9_	Y</SPAN><BR>fi</PRE>最后增加一个连接"go 
back" . 用来返回: <PRE>echo "&lt;/P&gt;&lt;P&gt;&lt;A HREF="../lemay/name1.html"&gt;Go Back&lt;/A&gt;&lt;/P&gt;"<SPAN style="DISPLAY: none">北京大学软件与微电子学院超级博客*M/P	z;Z#L6C</SPAN><BR><BR><SPAN style="DISPLAY: none">2S1sXmr!C^
YL{0</SPAN><SPAN style="DISPLAY: none">北京大学软件与微电子学院超级博客;]"O5|a
K3hR\Se</SPAN><BR>echo "&lt;/BODY&gt;&lt;/HTML&gt;"</PRE>
<CENTER>
<H3><A id=I27 name=I27 
_base_href="http://www.jdon.com/idea/cgi.htm"></A><B><FONT 
size=+1>问题</FONT></B></H3></CENTER>这里是使用<B 
style="COLOR: black; BACKGROUND-COLOR: rgb(255,255,102)">CGI</B>脚本比较普遍的问题: 
<UL>
  <LI>脚本内容只显示不执行.
  <P><SPAN 
  style="DISPLAY: none">北京大学软件与微电子学院超级博客+_1t9n!]F0l9}1}</SPAN><BR>你正确<B 
  style="COLOR: black; BACKGROUND-COLOR: rgb(160,255,255)">配置</B>了你的服务器运行<B 
  style="COLOR: black; BACKGROUND-COLOR: rgb(255,255,102)">CGI</B>脚本? 你的脚本是放置在<B 
  style="COLOR: black; BACKGROUND-COLOR: rgb(255,255,102)">cgi</B>-bin目录中吗?如果你的服务器允许带.<B 
  style="COLOR: black; BACKGROUND-COLOR: rgb(255,255,102)">cgi</B>扩展名的<B 
  style="COLOR: black; BACKGROUND-COLOR: rgb(255,255,102)">CGI</B>运行, 
  你的脚本文件名的扩展名是这样吗? </P>
  <LI>Error 500: Server doesn't support POST.
  <P><BR><SPAN style="DISPLAY: none">?M$N!S-` Y O0</SPAN> 
  解答还是如上一条一样,然后你用命令行执行你的<B 
  style="COLOR: black; BACKGROUND-COLOR: rgb(255,255,102)">CGI</B>,可以正常运行吗?是否有错误?. 
  </P>
  <LI>Document contains no data.
  <P><SPAN style="DISPLAY: none">北京大学软件与微电子学院超级博客Gf;Y 
  w+h;Y7ba7N</SPAN><BR>确定你的头部行和数据部之间有一空行. </P>
  <LI>Error 500: Bad scrīpt Request.
  <P><BR><SPAN style="DISPLAY: none">3a$l8bc9t/O X0</SPAN> 确定你的脚本是可执行的(在UNIX, 
  用chmod +x 你的脚本.<B 
  style="COLOR: black; BACKGROUND-COLOR: rgb(255,255,102)">cgi</B>). 
  在从浏览器运行之前,你应当从命令行运行你的脚本,如果客户端是win95,可以用telnet登陆你的服务器,执行命令行,当然必须了解UNIX命令. 
  </P></LI></UL>
<CENTER>
<H3><A id=I28 name=I28 
_base_href="http://www.jdon.com/idea/cgi.htm"></A><B><FONT size=+1><B 
style="COLOR: black; BACKGROUND-COLOR: rgb(255,255,102)">CGI</B>变量</FONT></B></H3></CENTER>表2 
总结那些环境变量. 
<UL><LH></LH>
  <P><B>表2. <B style="COLOR: black; BACKGROUND-COLOR: rgb(255,255,102)">CGI</B> 
  环境变量.</B> <SPAN style="DISPLAY: none">北京大学软件与微电子学院超级博客9d@ 
  Lb(^9l</SPAN><BR></P></UL><BR><SPAN 
style="DISPLAY: none">&amp;vugh?]IS4Mo0</SPAN> &nbsp; 
<TABLE border=1 _base_href="http://www.jdon.com/idea/cgi.htm">
  <TBODY _base_href="http://www.jdon.com/idea/cgi.htm">
  <TR _base_href="http://www.jdon.com/idea/cgi.htm">
    <TD _base_href="http://www.jdon.com/idea/cgi.htm"><PRE><B><I>环境变量&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</I></B></PRE></TD>
    <TD _base_href="http://www.jdon.com/idea/cgi.htm"><PRE><B><I>意义</I></B></PRE></TD></TR>
  <TR _base_href="http://www.jdon.com/idea/cgi.htm">
    <TD _base_href="http://www.jdon.com/idea/cgi.htm">SERVER_NAME</TD>
    <TD _base_href="http://www.jdon.com/idea/cgi.htm"><B 
      style="COLOR: black; BACKGROUND-COLOR: rgb(255,255,102)">CGI</B>脚本运行时的主机名和IP地址.</TD></TR>
  <TR _base_href="http://www.jdon.com/idea/cgi.htm">
    <TD _base_href="http://www.jdon.com/idea/cgi.htm">SERVER_SOFTWARE</TD>
    <TD _base_href="http://www.jdon.com/idea/cgi.htm">你的服务器的类型如: CERN/3.0 或 
      NCSA/1.3.</TD></TR>
  <TR _base_href="http://www.jdon.com/idea/cgi.htm">
    <TD _base_href="http://www.jdon.com/idea/cgi.htm">GATEWAY_INTERFACE</TD>
    <TD _base_href="http://www.jdon.com/idea/cgi.htm">运行的<B 
      style="COLOR: black; BACKGROUND-COLOR: rgb(255,255,102)">CGI</B>版本. 
      对于UNIX服务器, 这是<B 
      style="COLOR: black; BACKGROUND-COLOR: rgb(255,255,102)">CGI</B>/1.1.</TD></TR>
  <TR _base_href="http://www.jdon.com/idea/cgi.htm">
    <TD _base_href="http://www.jdon.com/idea/cgi.htm">SERVER_PROTOCOL</TD>
    <TD _base_href="http://www.jdon.com/idea/cgi.htm">服务器运行的HTTP协议. 
      这里当是HTTP/1.0.</TD></TR>
  <TR _base_href="http://www.jdon.com/idea/cgi.htm">
    <TD _base_href="http://www.jdon.com/idea/cgi.htm">SERVER_PORT</TD>
    <TD 
    _base_href="http://www.jdon.com/idea/cgi.htm">服务器运行的TCP口,通常Web服务器是80.</TD></TR>
  <TR _base_href="http://www.jdon.com/idea/cgi.htm">
    <TD _base_href="http://www.jdon.com/idea/cgi.htm">REQUEST_METHOD</TD>
    <TD _base_href="http://www.jdon.com/idea/cgi.htm">POST 或 GET, 
      取决于你的表单是怎样递交的.</TD></TR>
  <TR _base_href="http://www.jdon.com/idea/cgi.htm">
    <TD _base_href="http://www.jdon.com/idea/cgi.htm">HTTP_ACCEPT&nbsp;</TD>
    <TD _base_href="http://www.jdon.com/idea/cgi.htm">浏览器能直接接收的Content-types, 
      可以有HTTP Accept header定义.</TD></TR>
  <TR _base_href="http://www.jdon.com/idea/cgi.htm">
    <TD _base_href="http://www.jdon.com/idea/cgi.htm">HTTP_USER_AGENT</TD>
    <TD _base_href="http://www.jdon.com/idea/cgi.htm">递交表单的浏览器的名称、版本 
      和其他平台性的附加信息。</TD></TR>
  <TR _base_href="http://www.jdon.com/idea/cgi.htm">
    <TD _base_href="http://www.jdon.com/idea/cgi.htm">HTTP_REFERER</TD>
    <TD _base_href="http://www.jdon.com/idea/cgi.htm">递交表单的文本的 
      URL,不是所有的浏览器都发出这个信息,不要依赖它</TD></TR>
  <TR _base_href="http://www.jdon.com/idea/cgi.htm">
    <TD _base_href="http://www.jdon.com/idea/cgi.htm">PATH_INFO</TD>
    <TD _base_href="http://www.jdon.com/idea/cgi.htm">附加的路径信息, 
    由浏览器通过GET方法发出.</TD></TR>
  <TR _base_href="http://www.jdon.com/idea/cgi.htm">
    <TD _base_href="http://www.jdon.com/idea/cgi.htm">PATH_TRANSLATED</TD>
    <TD 
  _base_href="http://www.jdon.com/idea/cgi.htm">在PATH_INFO中系统规定的路径信息.</TD></TR>
  <TR _base_href="http://www.jdon.com/idea/cgi.htm">
    <TD _base_href="http://www.jdon.com/idea/cgi.htm">scrīpt_NAME</TD>
    <TD _base_href="http://www.jdon.com/idea/cgi.htm">指向这个<B 
      style="COLOR: black; BACKGROUND-COLOR: rgb(255,255,102)">CGI</B>脚本的路径, 
      是在URL中显示的(如, /<B 
      style="COLOR: black; BACKGROUND-COLOR: rgb(255,255,102)">cgi</B>-bin/thescrīpt).</TD></TR>
  <TR _base_href="http://www.jdon.com/idea/cgi.htm">
    <TD _base_href="http://www.jdon.com/idea/cgi.htm">QUERY_STRING</TD>
    <TD _base_href="http://www.jdon.com/idea/cgi.htm">脚本参数或者表单输入项(如果是用GET递交). 
      QUERY_STRING 包含URL中问号后面的参数.</TD></TR>
  <TR _base_href="http://www.jdon.com/idea/cgi.htm">
    <TD _base_href="http://www.jdon.com/idea/cgi.htm">REMOTE_HOST</TD>
    <TD _base_href="http://www.jdon.com/idea/cgi.htm">递交脚本的主机名,这个值不能被设置.</TD></TR>
  <TR _base_href="http://www.jdon.com/idea/cgi.htm">
    <TD _base_href="http://www.jdon.com/idea/cgi.htm">REMOTE_ADDR</TD>
    <TD _base_href="http://www.jdon.com/idea/cgi.htm">递交脚本的主机IP地址.</TD></TR>
  <TR _base_href="http://www.jdon.com/idea/cgi.htm">
    <TD _base_href="http://www.jdon.com/idea/cgi.htm">REMOTE_USER</TD>
    <TD _base_href="http://www.jdon.com/idea/cgi.htm">递交脚本的用户名. 
      如果服务器的authentication被激活,这个值可以设置。</TD></TR>
  <TR _base_href="http://www.jdon.com/idea/cgi.htm">
    <TD _base_href="http://www.jdon.com/idea/cgi.htm">REMOTE_IDENT</TD>
    <TD _base_href="http://www.jdon.com/idea/cgi.htm">如果Web服务器是在ident 
      (一种确认用户连接你的协议)运行, 递交表单的系统也在运行ident, 这个变量就含有ident返回值.</TD></TR>
  <TR _base_href="http://www.jdon.com/idea/cgi.htm">
    <TD _base_href="http://www.jdon.com/idea/cgi.htm">CONTENT_TYPE</TD>
    <TD _base_href="http://www.jdon.com/idea/cgi.htm">如果表单是用POST递交, 这个值将是 
      application/x-www-form-urlencoded. 在上载文件的表单中, content-type 是个 
      multipart/form-data.</TD></TR>
  <TR _base_href="http://www.jdon.com/idea/cgi.htm">
    <TD _base_href="http://www.jdon.com/idea/cgi.htm">CONTENT_LENGTH</TD>
    <TD _base_href="http://www.jdon.com/idea/cgi.htm">对于用POST递交的表单, 
    标准输入口的字节数.</TD></TR></TBODY></TABLE>
<CENTER>
<H3><A id=I29 name=I29 
_base_href="http://www.jdon.com/idea/cgi.htm"></A><B><FONT 
size=+1>表单输入的解码程序</FONT></B></H3></CENTER>目前有两个程序: 通用目的的uncgi, 和<B 
style="COLOR: black; BACKGROUND-COLOR: rgb(255,255,102)">cgi</B>-lib.pl, 
这是个Perl库,用于perl编写的<B 
style="COLOR: black; BACKGROUND-COLOR: rgb(255,255,102)">CGI</B>脚本. 
<P></P>
<CENTER>当然也有表单上载时可以解码的程序,很少。 </CENTER>
<CENTER>
<H4><A id=I30 name=I30 
_base_href="http://www.jdon.com/idea/cgi.htm"></A><B><FONT 
size=+0>uncgi</FONT></B></H4></CENTER>
<CENTER>说明原码可以从 <A href="http://www.hyperion.com/~koreth/uncgi.html" 
_base_href="http://www.jdon.com/idea/cgi.htm">http://www.hyperion.com/~koreth/uncgi.html</A>获得。 
</CENTER>
<CENTER>
<H4><A id=I31 name=I31 
_base_href="http://www.jdon.com/idea/cgi.htm"></A><B><FONT size=+0><B 
style="COLOR: black; BACKGROUND-COLOR: rgb(255,255,102)">cgi</B>-lib.pl</FONT></B></H4></CENTER>这是由Steve 
Brenner编写的, 帮助你管理输入. 他能从GET和POST获取输入并且放置在一个Perl列表或阵列中. 更新的版本也能处理来自表单的文件上传. 
从这儿可以得

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -