Apache et CGI en C, recuperation donnees URL
Résolu
skrino
-
skrino Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
skrino Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J ai un serveur Apache 2.2 tournant sous Windows XP. Lorsque je veux faire des pages CGI, mon programme ne recupere pas les parametres URL envoye.
Depuis internet, la demande URL suivante est envoye au serveur:
monsite.fr/cgi-bin/hello.cgi?field1=123&field2=456&field3=789&field4=123&Submit=Envoyer
Apache regarde alors le fichier hello.cgi dans le repertoire cgi-bin
Ce fichier hello.cgi ne contient que la ligne suivante pour appeler mon programme devant traiter les donnees.
#!c:/HelloWorld.exe
Le programme est bien executer et me retourne bien une page web sans erreur. Cette page web affiche les parametres recu par ce programme.
Mais c est la le probleme. Dans les parametres recu, je voudrais recevoir les parametres field1=123 field2=456 ect...
Mais HelloWorld.exe ne recoit que 2 parametres:
parametre1 C:\HelloWorld.exe
parametre2 C:/Program Files/Apache2.2/cgi-bin/hello.cgi
Je pense bien que cela doit etre une erreur stupide, mais je bloque totalement. Le truc est que j essaye de tout faire en C sans avoir a inclure du PHP ou quoi que ce soit. (si cela est possible).
Si vous pouvez m aider la dessus, merci par avance.
Je copie mon programme C si ca peut vous aider:
int main(int argc, char *argv[])
{
int i;
char c;
//renvoie des donnees necessaires a l affichage de la page web
printf("Content-type: text/plain; charset=iso-8859-1\n\n");
printf("<HTML>");
printf("<HEAD>");
printf("<TITLE>Exemple de cgi</TITLE>");
printf("</HEAD>");
printf("<BODY>");
printf("<p>Hello world</p>");
printf("<p>Ce que le programme recoit est:</p>");
//affichage des parametres recus
for(i=(int)0; i<=argc; i++)
{
printf("<p>%d ", i);
printf("%s</p>", argv[i]);
}
return 0;
}
J ai un serveur Apache 2.2 tournant sous Windows XP. Lorsque je veux faire des pages CGI, mon programme ne recupere pas les parametres URL envoye.
Depuis internet, la demande URL suivante est envoye au serveur:
monsite.fr/cgi-bin/hello.cgi?field1=123&field2=456&field3=789&field4=123&Submit=Envoyer
Apache regarde alors le fichier hello.cgi dans le repertoire cgi-bin
Ce fichier hello.cgi ne contient que la ligne suivante pour appeler mon programme devant traiter les donnees.
#!c:/HelloWorld.exe
Le programme est bien executer et me retourne bien une page web sans erreur. Cette page web affiche les parametres recu par ce programme.
Mais c est la le probleme. Dans les parametres recu, je voudrais recevoir les parametres field1=123 field2=456 ect...
Mais HelloWorld.exe ne recoit que 2 parametres:
parametre1 C:\HelloWorld.exe
parametre2 C:/Program Files/Apache2.2/cgi-bin/hello.cgi
Je pense bien que cela doit etre une erreur stupide, mais je bloque totalement. Le truc est que j essaye de tout faire en C sans avoir a inclure du PHP ou quoi que ce soit. (si cela est possible).
Si vous pouvez m aider la dessus, merci par avance.
Je copie mon programme C si ca peut vous aider:
int main(int argc, char *argv[])
{
int i;
char c;
//renvoie des donnees necessaires a l affichage de la page web
printf("Content-type: text/plain; charset=iso-8859-1\n\n");
printf("<HTML>");
printf("<HEAD>");
printf("<TITLE>Exemple de cgi</TITLE>");
printf("</HEAD>");
printf("<BODY>");
printf("<p>Hello world</p>");
printf("<p>Ce que le programme recoit est:</p>");
//affichage des parametres recus
for(i=(int)0; i<=argc; i++)
{
printf("<p>%d ", i);
printf("%s</p>", argv[i]);
}
return 0;
}
A voir également:
- Apache et CGI en C, recuperation donnees URL
- Fuite données maif - Guide
- Url - Guide
- Apache open office gratuit - Télécharger - Suite bureautique
- Supprimer les données de navigation - Guide
- Logiciel de récupération de données - Guide