Cgi en C pour un récupérer un POST
by
daharry
@ 30/03/2006
Un petit morceau de code en C à utiliser comme script CGI pour récupérer la requête passée en POST et la stocker.
#include
#include
void unencode(char *src)
{
char **tab;
int i,j;
tab = malloc((strlen(src) + 42) * sizeof(**tab));
tab[0] = malloc(sizeof(*tab[0]));
for (i = 0, j = 0;*src; src++)
if (*src == '=' || *src == '&')
{
tab[i++][j] = '\0';
tab[i] = malloc(sizeof(*tab[i]));
j = 0;
}
else
{
tab[i] = realloc(tab[i], strlen(tab[i]) + 2);
tab[i][j++] = *src;
tab[i][j+1] = '\0';
}
tab[i+1] = 0;
for (i = 0; tab[i]; i++)
printf("tab[%i] : %s\n", i, tab[i] );
}
int main(void)
{
extern char** environ;
char *lenstr;
char input[8];
long len;
printf("Content-Type:text/html\n\n");
lenstr = getenv("CONTENT_LENGTH");
sscanf(lenstr,"%ld",&len);
fgets(input, len+1, stdin);
printf("Requete entiere : %s",input);
unencode(input);
return 0;
}
Par daharry
Dernière modification
22/03/2007 15:55