Linux_CGI_CGIC

来源:互联网 发布:python 云词 编辑:程序博客网 时间:2024/06/10 09:52

获取Get请求字符串

Get请求就是我们在浏览器地址栏输入URL时发送请求的方式,或者我们在HTML中定义一个表单(form)时,把action属性设为“Get”时的工作方式;

Get请求字符串就是跟在URL后面以问号“?”开始的字符串,但不包括问号。比如这样的一个请求: http://127.0.0.1/cgi-bin/out.cgi?ThisIsTheGetString

在上面这个URL中,“ThisIsTheGetString”就是Get请求字符串。

在进入我们自己编写的cgi代码之前,CGIC库已经事先把这个字符串取到了,我们可以在程序中直接获得,要做的仅仅是在你编写的cgiMain方法前面加入以下声明:

 extern char *cgiQueryString; 

现在给出一个简单的例子,这个例子跟上一篇的测试程序非常相似,只不过程序的输出是使用者输入的Get请求字符串。

 #include<stdio.h>  #include<string.h>  #include"cgic.h"  #include<stdlib.h>  extern char *cgiQueryString;  int cgiMain(){          cgiHeaderContentType("text/html");          fprintf(cgiOut,"<HTML><HEAD>\n");          fprintf(cgiOut,"<TILE>MyCGIC</TILE></HEAL>\n");          fprintf(cgiOut,"<BODY>");          fprintf(cgiOut,"<H1>%s</H1>",cgiQueryString);          fprintf(cgiOut,"</BODY>\n");          fprintf(cgiOut,"</HTML>\n");          return 0;  }

假设把这个程序编译成out.cgi(编译方法参见上一篇),并部署到Web服务器的cgi-bin目录下,当用户在浏览器地址栏输入本文开头给出的URL字符串时,浏览器页面上会显示: ThisIsTheGetString

我们也可以编写一个用于测试的HTML页面:

<html>    <head>    <title>Test</title>    </head>    <body>    <form action="cgi-bin/out.cgi" method="get">        <input type="text" name="theText">        <input type="submit" value="Continue &rarr;">    </form>    </body> </html>

通过浏览器访问http://127.0.0.1/test.html,在文本框内输入一些字符,并点击提交按钮,然后就可以看到cgi程序的执行结果:把在文本框输入的字符原样显示在浏览器上。

原创粉丝点击