Est-ce possible d'écrire du code CGI par C ou C++? s'il vous plaît donnez-moi un "bonjour monde !!!" Exemple .l'écriture de code cgi par langage C
Répondre
Absolument.
#include <stdio.h>
int main(int argc, char *argv[]])
{
printf("Content-type: text/plain\n\n");
printf("Hello, world!\n")
}
Eva, une fois que vous comprenez les bases de la réponse de Ignacio (cgi-bin, exécution du navigateur, serveur web, etc.) il y a des bibliothèques très utiles pour aider à l'exécution de type web.
Voici la bibliothèque je pour mon cgi en C, fonctionne très bien, vous épargnerez jours:
(cgihtml est un ensemble de routines CGI et HTML écrit C)
http://eekim.com/software/cgihtml/index.html
vous pouvez ajouter html modèles pour afficher de grandes quantités de données:
http://www.algonet.se/~thunberg/template2doc/
webservers Poids léger:
http://en.wikipedia.org/wiki/Comparison_of_lightweight_web_servers
et plus de ressources:
http://cgi.resourceindex.com/Programs_and_Scripts/C_and_C++/Libraries_and_Classes/
Jetez un oeil à kcgi
kcgi est un CGI open source et bibliothèque FastCGI pour les applications C Web. Il est minime, sécurisé et auditable
#include <sys/types.h> /* size_t, ssize_t */
#include <stdarg.h> /* va_list */
#include <stddef.h> /* NULL */
#include <stdint.h> /* int64_t */
#include <stdlib.h> /* EXIT_SUCCESS, etc. */
#include <kcgi.h>
int main(void) {
struct kreq r;
const char *page = "index";
if (KCGI_OK != khttp_parse(&r, NULL, 0, &page, 1, 0))
return(EXIT_FAILURE);
khttp_head(&r, kresps[KRESP_STATUS], "%s", khttps[KHTTP_200]);
khttp_head(&r, kresps[KRESP_CONTENT_TYPE], "%s", kmimetypes[KMIME__MAX == r.mime ?
KMIME_APP_OCTET_STREAM : r.mime]);
khttp_body(&r);
khttp_puts(&r, "Hello, world!");
khttp_free(&r);
return(EXIT_SUCCESS);
}
Compile ce simple code source dans un fichier exécutable :
#include <stdio.h>
int main()
{
printf("content-type: text/plain\n\n");
printf("Hello, world!");
return 0;
}
Je suppose que le fichier compilé est cgi-app.cgi
:
gcc cgi-src.c -o cgi-app.cgi
Si vous exécutez httpd comme y notre logiciel serveur, vous pouvez mettre cgi-app.cgi
dans vos répertoires:
cgi-bin
: il est autorisé à exécuter CGI dans la plupart des cas.htdocs
: ajouter 2 lignes dans votre fichier.htaccess
:
Options +ExecCGI AddHandler cgi-script .cgi
Ne jamais oublier ensemble approprié execute
l'autorisation pour votre .htaccess
et cgi-app.cgi
- 1. Terminer scanf par programmation en langage C
- 2. Debug CGI par simulation
- 3. Code objet, temps de liaison en langage C
- 4. C, HTML et CGI
- 5. Pourquoi le langage C++ n'est-il pas proposé en langage code-behind pour asp.net?
- 6. Extension du langage C#?
- 7. getenv (QUERY_STRING) en C CGI
- 8. Fichier de langage XML C#
- 9. C Programme CGI: comment imprimer dynamiquement?
- 10. Apprendre le langage C++
- 11. Type de coulée, problème de langage c
- 12. Génération de code pour tout langage pris en charge par CLR à l'aide d'un CodeDomSerializer
- 13. comment lire le fichier cgi par javascript
- 14. Langage de modélisation Java pour C?
- 15. Un langage dynamique pour apprendre par curiosité
- 16. GAE CGI: comment répondre code de statut http
- 17. délimiteurs d'impression en langage c
- 18. rect en langage c ou C++
- 19. Problème CGI et MySQL C++ (mysql ++)
- 20. PHP en C/C++ à travers le script CGI
- 21. Quelle génération de langage est C#?
- 22. langage C: structs et tableaux de caractères
- 23. Langage de programmation nommé "C Set 2"
- 24. Langage C, lecteur de port série
- 25. UML pour langage de programmation C
- 26. Chargement de l'image, langage C et GTK
- 27. misunderestanding de l'opérateur logique du langage c
- 28. CGI Buffering question
- 29. Architecture de modèle avec CGI
- 30. Erreur numérique dans un langage simple code CUDA
+1, aussi simple qu'il obtient. :) – casablanca
comment j'exécute ce code CGI par mon navigateur (fire fox)? – Amra
Selon les caractéristiques du serveur et du compilateur que vous utilisez, vous devrez peut-être utiliser les séquences '\ r \ n' à la place de' \ n' car HTTP s'attend à ce que les nouvelles lignes soient un retour chariot suivi d'un retour à la ligne. La plupart des navigateurs sont tolérants aux nouvelles lignes isolées dans tous les cas. – SingleNegationElimination