CGI原理解析系列之三----CGI如何完整获取WEB服务器数据

本文通过一个模拟示例,详细解释了CGI(Common Gateway Interface)如何从WEB服务器获取数据,包括GET和POST方法的支持。通过创建管道、重定向输入输出以及设置环境变量,演示了CGI子进程接收并处理数据的过程。
摘要由CSDN通过智能技术生成

 

//模拟了服务器端 httpd 进程启动 cgi的过程,
//完整展现了 get,post 方法支持
//gcc -g httpd_all.c -o httpd_all.ums;


#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <sys/wait.h>
#include <stdlib.h>

#define CGI_NAME "get_post.ums"
#define REQUEST_METHOD "REQUEST_METHOD=POST"
#define REQUEST_PARAMETER "myname=huangzhihui"

int main(int argc, char *argv[])
{
 int parent[2],child[2];
 if (pipe(parent) < 0)
 {
  printf("create pipe fail.\n");
 }
 
 if (pipe(child) < 0)
 {
  close(parent[0]);
  close(parent[1]);
  printf("create pipe fail.\n");
 }

 pid_t pid;
 if ((pid = fork()) < 0)
 {
  printf("fork fail.\n");
 }
 else if (pid > 0)
 {
  /* pa

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值