#include stdio.h
#include stdlib.h
#include "
cgi_util.c"
#define MAX_ENTRIES 10000
typedef struct {
char name;
char val;
} entry;
main(
int argc,
char argv[]) {
entry entries[MAX_ENTRIES];
register int x,m=0;
int cl;
printf(
"Content-type: text/html%c%c",10,10);
if(strcmp(getenv(
"REQUEST_METHOD"),
"POST")) {
printf(
"Este script debe ser referenciado con el metodo POST.n");
exit(1);
}
if(strcmp(getenv(
"CONTENT_TYPE"),
"application/x-www-form-urlencoded")) {
printf(
"Este script solo puede ser usado para decodificar formularios . n");
exit(1);
}
printf(
"h1Variables de Ambiente/h1%c",10);
printf(
"ul%c",10);
printf(
"li QUERY_STRING %s",getenv(
"QUERY_STRING"));
printf(
"li CONTENT_LENGTH %s",getenv(
"CONTENT_LENGTH"));
printf(
"li REQUEST_METHOD %s",getenv(
"REQUEST_METHOD"));
printf(
"li HTTP_ACCEPT %s",getenv(
"HTTP_ACCEPT"));
printf(
"li REMOTE_HOST %s",getenv(
"REMOTE_HOST"));
printf(
"li SCRIPT_NAME %s",getenv(
"SCRIPT_NAME"));
printf(
"li SERVER_SOFTWARE %s",getenv(
"SERVER_SOFTWARE"));
printf(
"li SERVER_NAME %s",getenv(
"SERVER_NAME"));
printf(
"li SERVER_PORT %s",getenv(
"SERVER_PORT"));
printf(
"li GATEWAY_INTERFACE %s",getenv(
"GATEWAY_INTERFACE"));
printf(
"/ul%c",10);
cl = atoi(getenv(
"CONTENT_LENGTH"));
for(x=0;cl && (!feof(stdin));x++) {
m=x;
entries[x].val = fmakeword(stdin,'&',&cl);
plustospace(entries[x].val);
unescape_url(entries[x].val);
entries[x].name = makeword(entries[x].val,'
');
}
printf(
"H1Resultado del cuestionario/H1");
printf(
"Obtenidos los siguientes pares de nombre/valor:p%c",10);
printf(
"ul%c",10);
for(x=0; x
m; x++)
printf(
"li code%s %s/code%c",entries[x].name,
entries[x].val,10);
printf(
"/ul%c",10);
}