- 论坛徽章:
- 0
|
最近在做一个嵌入式web服务器,想请教下怎么读取html里的参数。
我的html是静态网页,从里面可以输入ipaddr serverip 等环境变量,目的就是在html上输入参数,点击确定后可以调用cgi程序,接收从html里输入的参数,并将这些参数写入一个文件保存。
代码如下: (现在还实现不了)
#include <stdio.h>
#include "cgic.h"
#include <string.h>
#include <stdlib.h>
int main (void)
{
char str;
char *argName[8];
char *argValue[8];
char *delim = "&=";
char *tok,Method;
int i,n = 0;
FILE *netconfig;
fprintf(stdout,"Contenttype: text/plain\n\n");
Method = getenv("REQUEST_METHOD");
if(strcmp(Method,"GET") == 0){
fprintf(stdout,"input data is :\n%s",getenv("QUERY_STRING"));
}else{
n=atoi(getenv("CONTENT-LENGTH"));
for(i = 0;i < n;i++)
{
str = getchar();
}
}
for(i=0; i<8; i++)
{
argName[i] = malloc(64);
argValue[i]= malloc(64);
}
tok = strtok(str, delim);
for(i=0; i<8 && tok!=NULL; i++)
{
strcpy(argName[i], tok);
tok = strtok(NULL, delim);
if (tok == NULL) break;
strcpy(argValue[i],tok);
tok = strtok(NULL, delim);
}
fprintf(netconfig,"setenv ipaddr %s\n",argValue[0]);
fprintf(netconfig,"setenv serverip %s\n",argValue[1]);
fprintf(netconfig,"setenv gateway %s\n",argValue[2]);
fprintf(netconfig,"saveenv\n");
for(i=0; i<8; i++)
{
free(argName[i]);
free(argValue[i]);
}
return 0;
} |
|