Salut !
J'imagine que si tu poste ici c'est que tu veux écrire un CGI en C donc je vais te donenr un coup de main en te donnant qqs indices en C.
Si tu as plus de 255 caractères à transmettre à ton CGI, tu vas utiliser la méthode POST.
Ce qu'on va faire, c'est récupérer les infos du POST sous forme d'une chaîne de caractèress. D'abord, on a besoin de déclarer une telle chaîne : char *chaine; // la chaine qui va recevoir les infos.
Ensuite, on a besoin de connaîte la taille du Buffer d'entrée (ie on veut connaitre la longueur de notre chaine pour allouer le bon espace en mémoire) : longeur = atoi(getenv("CONTENT_LENGTH")); // longueur est un int, getenv renvoie un string donc atoi permet de convertir un string en un integer. On peut ensuite passer à la réservation d'espace mémoire avec un malloc : chaine=(char*)malloc (longueur+1) // il nous faut un caractère de plus pour le caractère de fin de chaine '\0'. Ensuite on fait un fread sur l'entrée standard puis on écrit chaine[longueur]='\0'.
Voila tout ;o).
Arnaud MARTIN.
Le sot ne sait pas ce qu'il dit mais le sage ne dit pas ce qu'il sait...
|