cgi C 实例处理

#include<stdio.h>
#include<string.h>
#include<stdlib.h>

#define MAXsize 256

const  char  *ENV[]=
{
	"SERVER_NAME",            //0
	"SERVER_SOFTWARE",        //1
	"GATEWAY_INTERFACE",       //2
	"SERVER_PROTOCOL",         //3
	"SERVER_PORT",             //4
	"REQUEST_METHOD",          //5
	"HTTP_ACCEPT",             //6
	"HTTP_USER_AGENT",          //7
	"HTTP_REFERER",             //8
	"PATH_INFO",                //9
	"PATH_TRANSLATED",           //10
	"SCRIPT_NAME",              // 11
	"QUERY_STRING",             // 12
	"REMOTE_HOST",              // 13
	"REMOTE_ADDR",               //14
	"REMOTE_USER",              //15
	"REMOTE_IDENT",              //16
	"CONTENT_TYPE",              //17
	"CONTENT_LENGTH"             //18
};

struct WebValue{
	char total[1024];
	char id[256];
	char value[256];
};

struct WebValue WebResult[MAXsize][MAXsize];

int DealId(char *data,int i)
{
	char *temp;
	printf("Content-type:text/html\r\n\r\n");
	sprintf(WebResult[i]->id,"%s",strtok(data,"="));
	sprintf(WebResult[i]->value,"%s",strtok(NULL,"="));
	printf("111ID:%s\nVALUE:%s i:%d\n",WebResult[i]->id,WebResult[i]->value,i);
}

int GetMethod(void)
{
	char recv[1024];
	sprintf(recv,"%s",getenv(ENV[12]));
	int i=1;
	char hello[123];	
	char *temp;

	if (recv == NULL)
	{
		return -1;
	}

	sprintf(WebResult[0]->total,"%s" ,strtok(recv,"&"));

	while(1){
		temp = WebResult[i]->total;
		memset(WebResult[i]->total,0,sizeof(WebResult[i]->total));
		sprintf(WebResult[i]->total,"%s",strtok(NULL,"&"));
		i++;
		if(!strcmp(temp, "(null)"))
		{
			break;
		}
	}

	int j;
	
	for( j = 0 ; j < (i-2) ;j++){
	   DealId(WebResult[j]->total,j);
	}
}

int loginCheck(void)
{
	if (!strcmp(WebResult[0]->id,"0x0")){
		if(!strcmp(WebResult[0]->value,"hongsir1994") && !strcmp(WebResult[1]->value,"105013hy")){
			printf("true\n\n");
		}else{
			printf("false\n\n");
		}	
	}
}

int main(void)
{
	char *method;

	method = getenv(ENV[5]);

#if 1
	if(!strcmp(method,"POST")){
		printf("hello\n");
	}else if(!strcmp(method,"GET")){
		GetMethod();
	}
#endif
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值