啥都不说,直接看代码!
简单输出代码
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void main()
{
printf("Content-type:text/html\n\n");
printf("hello world!");
fflush(stdout);
}
处理get代码
#include <stdio.h>
#include <stdlib.h>
int zmain(void)
{char *data;
long m,n;
printf("%s%c%c\n","Content-Type:text/html;charset=iso-8859-1",13,10);
printf("<TITLE>Multiplication results</TITLE>\n");
printf("<H3>Multiplication results</H3>\n");
data = getenv("QUERY_STRING");
if(data == NULL)
printf("<P>Error! Error in passing data from form to script.");
else if(sscanf(data,"m=%ld&n=%ld",&m,&n)!=2)
printf("<P>Error! Invalid data. Data must be numeric.");
else
printf("<P>The product of %ld and %ld is %ld.",m,n,m*n);
return 0;
}
处理post代码
#include<stdio.h>
#include<stdlib.h>
void main()
{
int i,n;
printf("Content-type:text/html\n\n");
n=0;
if(getenv("CONTENT_LENGTH"))
n=atoi(getenv("CONTENT_LENGTH"));
printf("%d",n);
for(i=0;i<n;i++)
putchar(getchar());
putchar('\n');
fflush(stdout);
}
还是代码
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
/* 转换函数声明 */
int htoi(char *);
/* 主函数 */
void zmain() {
int i,n;
char c;
printf ("Content-type: text/html\n\n");
n=0;
if (getenv("CONTENT_LENGTH"))
n=atoi(getenv("CONTENT_LENGTH"));
for (i=0; i<n;i++){
int is_eq=0; //判断是否有等于号。
c=getchar();
switch(c){
case '&':
c='\n';
break;
case '+':
c='+';
break;
case '%':
{
char s[3];
s[0]=getchar();
s[1]=getchar();
s[2]=0;
c=htoi(s);
i+=2;
}
break;
case '=':
c='=';
is_eq=1;
break;
};
putchar(c);
//if (is_eq) putchar(' ');
}
putchar ('\n');
fflush(stdout);
}
/* 转换为小写 */
int islower (int ch )
{
return (unsigned int) (ch - 'a') < 26u;
}
/* convert hex string to int 16进制转换成10进制 */
int htoi(char *s)
{
char *digits="0123456789ABCDEF";
if(islower(s[0])) s[0]=toupper(s[0]);
if(islower(s[1])) s[1]=toupper(s[1]);
return 16 * (strchr(digits, s[0]) -strchr(digits,'0') ) +(strchr(digits,s[1])-strchr(digits,'0'));
}
#include<stdio.h>
#include<stdlib.h>
void zzzmain()
{
int i,n;
printf("Content-type:text/html\n\n");
n=0;
if(getenv("CONTENT_LENGTH"))
n=atoi(getenv("CONTENT_LENGTH"));
printf("%d",n);
for(i=0;i<n;i++)
putchar(getchar());
putchar('\n');
fflush(stdout);
}
分享到:
相关推荐
教你如何用C语言编写CGI程序,并有例子分析。
C语言编写的cgi程序,get方式读取参数,并对文件处理
C语言CGI商业程序,可上传图片存入mysql数据库
用C语言编写的CGI程序具 有执行速度快、安全性高等特点。 内容介绍的比较详细
c语言编写的多用户登录功能cgi程序,适用于嵌入式,需编译。需要在程序同目录下创建文件user.txt并写入用户名密码用于验证,格式为:用户名空格密码空格用户名空格密码
c语言编写的CGI留言版程序,如果有谁对c开发的留言板程序有兴趣,可以看一下在
用HTML实现网页版上传文件的界面,用C语言编写CGI程序,在Linux系统下由http通过CGI来处理浏览器的访问
CGI程序设计指南通用网关接口(CGI)程序主要用来实现Web服务器、浏览器和外部服务程序间的交互。...同时结合一些具体的实用CGI程序,以C语言和Visual Basic为编程语言,介绍了编写CGI程序的基本方法和应注意的问题。
cgi的编写有各种官方库,有C语言版本的cgic库,c++版本的cgicc库等等。 我们使用cgic库去编写cgi程序,简单易用
由于工作需要,要求使用C程序与Apache服务器交互并与客户端浏览器交换信息,所以研究了一下C语言的CGI编程,这只是个简单的小例子,采用VS2008环境编写的控制台程序,希望对大家有帮助。
在第三部分高级专题中,讨论了如何在算术上处理矩阵,了解了数字信号处理系统,以及其利用ANSI C编写CGI程序进行互联网编程等高级实用专题。 本书内容丰富、叙述清晰、循序渐进,同时每章自成体系
apache访问cgi文件时,显示的内容是以ELF开头的乱码文字,如何解决.zip 用C语言编写的WEB后端程序是CGI的实现语言之一 但是访问CGI时会显示ELF开头的文件,这是为什么呢?怎么解决?
9.1 CGI程序的基本概念 9.2 CGI基本编程 9.3 使用脚本语言编写CGl 9.4 Perl语言简介 9.5 一个简单的CGI例子 第三部分 X Window应用程序开发 第10章 X Window和Motif基础 10.1 简介 10.2 XWindow基本概念 ...
在第三部分高级专题中,讨论了如何在算术上处理矩阵,了解了数字信号处理系统,以及其利用ANSI C编写CGI程序进行互联网编程等高级实用专题。 本书内容丰富、叙述清晰、循序渐进,同时每章自成体系。
而cgic是一个基于C语言的CGI库,它提供了一组简单易用的API,使得开发人员可以方便地编写CGI程序。cgic库支持GET和POST请求方法,以及文件上传等常见的操作。通过使用cgic库,开发人员可以快速地开发出高效稳定的CGI...
C语言编写的CGI库,代码和自带的测试程序
嵌入式设备资源有限,在这种情况下实现Web服务功能比较困难。...文中详细解析了CGI技术的相关原理,并结合HTML表单和CGI技术,给出了用C语言编写的基于CGIC库的串口程序,实现了客户端与服务端的动态交互。
CGI程序是控制台程序 本库用C语言函数封装 同时支持模块化网站开发 类似于asp中的 include file 。 支持会话读写 文件上传 验证码图片生成 等各种后台网站功能编写 相对于asp php .net jsp其它语言网站程序 CGI程序...
1.1 Python基础 Python是用标准C语言写成的一种面向对象的脚本语言,语法相对简单,符合人的思 维习惯,通过集成环境或解释器直接执行源程序。它可以运行在windows、linux等操作 系统平台上,具有丰富的功能库以处理...
PHP 脚本语言的语法结构与 C语言和 Perl 语言的语法风格非常相似,用户在使用变量前不...用户可以在Windows NT 系统以及许多版本的 Unix 系统上运行 PHP,而且可以将 PHP 作为 Apache 服务器的内置模块或 CGI 程序运行