CGIC简明教程2:获取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请求字符串。

下载: test.c
  1. #include <stdio.h>
  2. #include "cgic.h"
  3. #include <string.h>
  4. #include <stdlib.h>
  5.  
  6. extern char *cgiQueryString;
  7. int cgiMain() {
  8.     cgiHeaderContentType("text/html");
  9.     fprintf(cgiOut, "<HTML><HEAD>/n");
  10.     fprintf(cgiOut, "<TITLE>My CGIC</TITLE></HEAD>/n");
  11.     fprintf(cgiOut, "<BODY>");
  12.     fprintf(cgiOut, "<H1>%s</H1>",cgiQueryString);
  13.     fprintf(cgiOut, "</BODY>/n");
  14.     fprintf(cgiOut, "</HTML>/n");
  15.     return 0;
  16. }

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

ThisIsTheGetString

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

下载: test.html
  1. <html>
  2. <head>
  3.     <title>Test</title>
  4. </head>
  5. <body>
  6.     <form action="cgi-bin/out.cgi" method="get">
  7.         <input type="text" name="theText">
  8.         <input type="submit" value="Continue &rarr;">
  9.     </form>
  10. </body>
  11. </html>

文件的部署结构应该为:
|test.html
|—-cgi-bin/out.cgi

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

 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值