Juste une question rapide sur l'utilisation de FastCGI. Je programme depuis environ un mois et je trouve très difficile de comprendre FastCGI.FastCGI et les chaînes de requête (travaillant en C)
Fondamentalement voici mes questions.
Comment exactement puis-je définir ma chaîne de requête?
Est-ce même quelque chose que je peux "définir" du point de vue de la programmation?
Si c'est quelque chose que je dois définir, où le ferais-je?
code:
while(FCGI_Accept() >= 0) {
if (getenv("QUERY_STRING") != NULL)
{
strcpy(query_string, getenv("QUERY_STRING"));
if (query_count == 0)
{
printf("Content-type: text/html\r\n\r\n");
printf("Query string has no data pairs!\n");
continue;
}
}
else
{
printf("Content-type: text/html\r\n\r\n");
printf("Query string does not exist!\n");
continue;
}
}
Le code suivant retourne toujours NULL
pour getenv(QUERY_STRING)
.
Normalement, la chaîne de requête est définie par le serveur Web. Par exemple, si vous ouvrez un navigateur, pointez-le sur votre serveur Web et entrez une URL qui ressemble à ceci ... (oops), http://my.server.com/?name=fred&gender=male puis la chaîne de requête sera le truc après le point d'interrogation. –
@BradS. Merci beaucoup, cela me donne un aperçu de par où commencer. C'est probablement une question stupide, mais comment exactement je le désigne un mon serveur web? J'ai écrit une fonction pour analyser ma query_string dans une liste de paires nom-valeur, mais c'est inutile si je garde une chaîne NULL haha. – Damian
J'ai vraiment besoin de plus de contexte. Je ne sais pas si vous utilisez cgi avec un serveur web ou si vous expérimentez la bibliothèque en utilisant un simple programme de démonstration. Je me demande aussi si vous savez comment définir les variables d'environnement sur votre système d'exploitation hôte ... alors, commençons par un simple programme hello world ... et remplaçons la ligne, printf ("Hello, world! \ N"); avec, printf ("% s \ n", getenv ("QUERY_STRING")); Savez-vous comment exécuter le programme sur la ligne de commande et définir la variable d'environnement afin que le programme imprime quelque chose de différent sans compiler? –