GET方法:
test.html
------------------------------------------
- <html>
- <head>
- <meta http-equiv="content-type" content="text/html; charset=UTF-8">
- <title>你的第一个cgi测试程序 </title>
- </head>
- <body>
- <br>
- <h2>linux</h2>
- <br>
- <form ACTION="/cgi-bin/mult.cgi" >
- <p>请在下面填入乘数和被乘数,按下确定后可以看到结果。
- <input NAME="m" SIZE="5" >
- <input NAME="n" SIZE="5" >
- <br>
- <input TYPE="SUBMIT" VALUE="确定" >
- </form> </body></html>
----------------------------------------------
mult.c
----------------------------------------------
- #include <stdio.h>
- #include <stdlib.h>
- int main(void)
- {
- char *data;
- long m,n;
- printf("%s%c%c ","Content-Type:text/html;charset=gb2312/n/n",13,10);
- printf("<title>乘法结果</title> /n");
- printf("<h3>乘法结果</h3> /n");
- data = getenv("QUERY_STRING");
- if(data != NULL)
- printf("---data------>%s<------------/n",data);
- sscanf(data,"m=%ld&n=%ld",&m,&n);
- printf("----m:--->%d<--------n:---->%d<------/n",m,n);
- return 0;
- }
---------------------------------------------------
编译mult.c为 mult.cgi 目录为LINUX WEB下的/cgi-bin/mult.cgi,然后在浏览器运行保存在WEB目录下的test.html
*************************************************************************************************************
POST方法
test2.html
_______________________________________________________________________
- <html>
- <head>
- <meta http-equiv="content-type" content="text/html; charset=UTF-8">
- <title>你的第一个cgi测试程序 </title>
- </head>
- <body>
- <h1 >你的第一个cgi测试程序 <h1>
- <br>
- <h2>linux </h2>
- <br>
- <form ACTION="/cgi-bin/collect.cgi" METHOD="POST" >
- <p>请输入您的留言(最多80个字符):
- <br>
- <input NAME="data" SIZE="60" MAXLENGTH="80" >
- <br>
- <input TYPE="SUBMIT" VALUE="确定" >
- </form>
- </body></html>
collect.c
____________________________________________________________________________________
- #include <stdio.h>
- #include <stdlib.h>
- int main(void)
- {
- char *lenstr;
- char input[100], data[100];
- long len;
- printf("%s%c%c ","Content-Type:text/html;charset=gb2312/n/n",13,10);
- printf("<title>Response</title> ");
- lenstr = getenv("CONTENT_LENGTH");
- printf("------lenstr------->%s<-----------/n",lenstr);
- sscanf(lenstr,"%ld",&len);
- fgets(input, len, stdin);
- printf("------input------->%s<-----------/n",input);
- }