`

C语言编写CGI程序

阅读更多
啥都不说,直接看代码!

简单输出代码

#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程序详解 #### 一、CGI概述 CGI(Common Gateway Interface,通用网关接口)是一种标准协议,用于Web服务器与外部程序之间的通信。通过CGI,Web服务器能够调用外部程序(即CGI程序),以处理...

    c语言编写的cgi程序

    在这个场景中,我们关注的是使用C语言编写CGI程序,它主要通过GET方式读取用户提交的参数,并进行文件处理。这涉及到以下几个重要的知识点: 1. **CGI原理**:CGI程序充当了Web服务器和客户端之间的一个桥梁,当...

    C语言写CGI程序详细教程

    C语言写CGI程序详细教程 CGI(Common Gateway Interface,公共网关接口)是一种标准的web服务器...通过使用C语言编写CGI程序,我们可以充分发挥CGI程序的执行速度快、安全性高等特点,提高Web应用程序的性能和安全性。

    用C语言进行CGI程序设计

    在本课程设计中,使用C语言编写CGI程序是为了实现一个特定的应用场景:通过网页表单收集用户输入的运算结果,并在后台处理这些数据,然后将结果返回给用户。 C语言被选择作为CGI程序的开发语言,主要得益于它的高效...

    用c语言进行cgi程序设计.rar_CGI程序设计_cgi_cgi c语言

    总的来说,通过C语言编写CGI程序,开发者可以创建高度定制化的Web应用程序,如表单处理、动态内容生成等。这个资源为初学者提供了一个实践CGI编程的机会,通过阅读和理解提供的代码,可以深入理解CGI的工作原理以及...

    C语言CGI商业程序,可上传图片存入mysql数据库

    在这个案例中,C语言编写的CGI程序充当了Web服务器与用户上传图片之间的桥梁。当用户通过网页提交上传请求时,CGI程序会被执行,处理文件上传并执行必要的操作,如验证文件类型、大小等,然后将图片数据保存到服务器...

    支持C语言编写CGI的服务器TinyWeb web server

    在本场景中,`TinyWeb web server` 是一个轻量级的Web服务器,它特别之处在于它支持用C语言编写CGI程序。这意味着开发者可以使用C语言这种强大的编程语言来创建动态内容,如网页表单处理、数据库查询等。 **TinyWeb...

    用C语言进行CGI程序设计.doc

    5. C语言编写CGI程序的优势: - 执行效率:C语言编译后的程序运行速度快,适合处理大量数据和复杂计算。 - 安全性:C语言程序编译后不可被轻易修改,增加了安全性。 - 可移植性:C语言的跨平台特性使得CGI程序...

    用c语言编写网页WEB-CGI技术教程

    2. **C语言编写CGI**:使用C语言编写CGI程序时,需要理解HTTP协议和CGI规范。可以使用标准库如`stdio.h`来读写标准输入输出,处理环境变量和用户数据。C语言的CGI程序通常以`.cgi`为扩展名。 3. **Apache服务器与...

    C语言开发CGI初步了解

    尽管随着高级脚本语言如PHP、Perl的发展,直接使用C语言编写CGI程序的情况有所减少,但实际上,许多现代脚本语言如PHP、Python都是基于C语言开发的,它们在C语言基础上增加了特定于Web开发的功能。这意味着,即使...

    C语言编写的CGI开发库(linux)

    C语言编写的CGI库为开发者提供了方便的接口,可以在Linux环境中开发CGI应用程序。本篇文章将深入探讨C语言与CGI结合在Linux下的开发实践,以及`cgilib-2.01-bin`这个库的特点和使用方法。 首先,理解CGI的基本原理...

    c语言 cgi 示例

    C语言是一种广泛用于系统编程、嵌入式开发以及Web服务领域的编程语言,因此使用C语言编写CGI程序是非常常见的。这个压缩包“cgi”很可能包含了用C语言编写的CGI程序示例和相关的HTML文件,用于演示如何在Web服务器上...

    使用C语言写CGI的文档及其代码

    在本资源中,我们探讨的是如何使用C语言编写CGI程序。C语言因其高效、灵活和广泛支持而成为开发此类程序的理想选择。 C语言写CGI的基本步骤通常包括以下几个部分: 1. **环境初始化**:CGI程序首先需要识别其运行...

    cgi.rar_CGI Programming_c cgi_cgi_cgi C_網頁編程

    总的来说,这个压缩包提供了一个基础的CGI编程示例,适合初学者了解CGI的工作原理和C语言编写CGI程序的方法。通过分析和运行这个程序,你可以学习到如何用C语言实现一个简单的Web服务扩展,将静态文件系统中的内容...

    cgi.rar_c cgi_cgi_cgi-web_cgi-webserver_网页 cgi

    8. 文件“cgi.doc”可能包含的细节:这份文档可能详细介绍了如何使用C语言编写CGI程序,包括环境配置、基本的CGI编程模型、如何处理HTTP请求和响应,以及可能遇到的问题和解决方法。 总结来说,这个压缩包资料主要...

    嵌入式Linux下基于CGI的文件上传下载的实现

    使用C语言编写CGI程序的优势在于其可以直接编译成二进制文件,这样不仅减少了额外的解释器开销,还能够降低程序的大小。为了编写有效的CGI程序,开发者需要熟悉以下几个关键点: - **环境变量**:通过环境变量获取...

    c语言多用户登录功能cgi

    c语言编写的多用户登录功能cgi程序,适用于嵌入式,需编译。需要在程序同目录下创建文件user.txt并写入用户名密码用于验证,格式为:用户名空格密码空格用户名空格密码

    C语言CGI编写WEB查询系统

    - **安全性好:** 特别是用C语言编写的CGI程序,运行速度快且安全性较高。 - **广泛适用:** 可用于查询数据库、执行计算任务、提供搜索功能等多种应用场景。 **CGI接口标准包含三个主要部分:** 1. **输入:** ...

Global site tag (gtag.js) - Google Analytics