啥都不说,直接看代码!
简单输出代码
#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程序详解 #### 一、CGI概述 CGI(Common Gateway Interface,通用网关接口)是一种标准协议,用于Web服务器与外部程序之间的通信。通过CGI,Web服务器能够调用外部程序(即CGI程序),以处理...
在这个场景中,我们关注的是使用C语言编写CGI程序,它主要通过GET方式读取用户提交的参数,并进行文件处理。这涉及到以下几个重要的知识点: 1. **CGI原理**:CGI程序充当了Web服务器和客户端之间的一个桥梁,当...
C语言写CGI程序详细教程 CGI(Common Gateway Interface,公共网关接口)是一种标准的web服务器...通过使用C语言编写CGI程序,我们可以充分发挥CGI程序的执行速度快、安全性高等特点,提高Web应用程序的性能和安全性。
在本课程设计中,使用C语言编写CGI程序是为了实现一个特定的应用场景:通过网页表单收集用户输入的运算结果,并在后台处理这些数据,然后将结果返回给用户。 C语言被选择作为CGI程序的开发语言,主要得益于它的高效...
总的来说,通过C语言编写CGI程序,开发者可以创建高度定制化的Web应用程序,如表单处理、动态内容生成等。这个资源为初学者提供了一个实践CGI编程的机会,通过阅读和理解提供的代码,可以深入理解CGI的工作原理以及...
在这个案例中,C语言编写的CGI程序充当了Web服务器与用户上传图片之间的桥梁。当用户通过网页提交上传请求时,CGI程序会被执行,处理文件上传并执行必要的操作,如验证文件类型、大小等,然后将图片数据保存到服务器...
在本场景中,`TinyWeb web server` 是一个轻量级的Web服务器,它特别之处在于它支持用C语言编写CGI程序。这意味着开发者可以使用C语言这种强大的编程语言来创建动态内容,如网页表单处理、数据库查询等。 **TinyWeb...
5. C语言编写CGI程序的优势: - 执行效率:C语言编译后的程序运行速度快,适合处理大量数据和复杂计算。 - 安全性:C语言程序编译后不可被轻易修改,增加了安全性。 - 可移植性:C语言的跨平台特性使得CGI程序...
2. **C语言编写CGI**:使用C语言编写CGI程序时,需要理解HTTP协议和CGI规范。可以使用标准库如`stdio.h`来读写标准输入输出,处理环境变量和用户数据。C语言的CGI程序通常以`.cgi`为扩展名。 3. **Apache服务器与...
尽管随着高级脚本语言如PHP、Perl的发展,直接使用C语言编写CGI程序的情况有所减少,但实际上,许多现代脚本语言如PHP、Python都是基于C语言开发的,它们在C语言基础上增加了特定于Web开发的功能。这意味着,即使...
C语言编写的CGI库为开发者提供了方便的接口,可以在Linux环境中开发CGI应用程序。本篇文章将深入探讨C语言与CGI结合在Linux下的开发实践,以及`cgilib-2.01-bin`这个库的特点和使用方法。 首先,理解CGI的基本原理...
C语言是一种广泛用于系统编程、嵌入式开发以及Web服务领域的编程语言,因此使用C语言编写CGI程序是非常常见的。这个压缩包“cgi”很可能包含了用C语言编写的CGI程序示例和相关的HTML文件,用于演示如何在Web服务器上...
在本资源中,我们探讨的是如何使用C语言编写CGI程序。C语言因其高效、灵活和广泛支持而成为开发此类程序的理想选择。 C语言写CGI的基本步骤通常包括以下几个部分: 1. **环境初始化**:CGI程序首先需要识别其运行...
总的来说,这个压缩包提供了一个基础的CGI编程示例,适合初学者了解CGI的工作原理和C语言编写CGI程序的方法。通过分析和运行这个程序,你可以学习到如何用C语言实现一个简单的Web服务扩展,将静态文件系统中的内容...
8. 文件“cgi.doc”可能包含的细节:这份文档可能详细介绍了如何使用C语言编写CGI程序,包括环境配置、基本的CGI编程模型、如何处理HTTP请求和响应,以及可能遇到的问题和解决方法。 总结来说,这个压缩包资料主要...
使用C语言编写CGI程序的优势在于其可以直接编译成二进制文件,这样不仅减少了额外的解释器开销,还能够降低程序的大小。为了编写有效的CGI程序,开发者需要熟悉以下几个关键点: - **环境变量**:通过环境变量获取...
c语言编写的多用户登录功能cgi程序,适用于嵌入式,需编译。需要在程序同目录下创建文件user.txt并写入用户名密码用于验证,格式为:用户名空格密码空格用户名空格密码
- **安全性好:** 特别是用C语言编写的CGI程序,运行速度快且安全性较高。 - **广泛适用:** 可用于查询数据库、执行计算任务、提供搜索功能等多种应用场景。 **CGI接口标准包含三个主要部分:** 1. **输入:** ...