Bonjour,
Je souhaiterai récuperer la source d'une page web en C et le stocker dans un fichier.
Mon problème est: Comment télécharger la page?
(Je suis novice en C)
Merci d'avance.
Bonjour,
Je souhaiterai récuperer la source d'une page web en C et le stocker dans un fichier.
Mon problème est: Comment télécharger la page?
(Je suis novice en C)
Merci d'avance.
Rien de standard.
Pour un novice, jouer manuellement avec les sockets et le protocole HTTP est hors de question. Mais tu peux tenter d'utiliser des bibliothèques comme curl.
Sous Windows, tu peux aussi utiliser la fonction Win32 UrlDownloadToFile().
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
en faites j'ai été vague dans ma question,
je veux en faites récupérer une page xml et faire des traitement sur le fichier et stocker les infos que je souhaite garder dans une table.
Pour ce qui est de la table je suis ok
les traitements sur les fichiers je pense que je suis ok
par contre récupérer la page me pose probléme
Pour toi je devrai passer par une commande systéme.
Je pense pouvoir apprendre rapidement si je trouve un bon cours sur les sockets.
Es-ce vraiment difficile pour un novice?
Je ne sais pas si ceci est un bon cours, c'est plutôt des notes utiles:
http://emmanuel-delahaye.developpez.com/reseaux.htm
Regarde sur dvp.com si tu trouves des cours.
Le problème majeur, c'est que savoir utiliser les sockets ne suffit pas: Il faut ensuite connaître le protocole HTTP. Franchement, il serait plus simple d'utiliser une bibliothèque comme curl.
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
sur internet on parle beaucoup de la bibliothéque Urlmon.h,
cette bibliothéque te parle?
Apparement la commande URLDownloadToFile est dans la bibliothéque urlmon.h?
Le probléme c'est que c'est un projet pour mon école et mon prof ne semble pas vouloir qu'on utilise des librairies autres que celle du C ANSI.
Un novice se doit d'utiliser tout de suite le bon vocabulaire. Un .h n'est en aucun cas une bibliothèque. Si quelqu'un t'a dit le contraire, tu tapes dessus jusqu'à ce qu'il ait compris.Envoyé par DooSquare
Un . h est un header (fichier d'en-tête) qui sert à décrire les interfaces des fonctions d'un éventuelle bibliothèque.
Alors ton prof est un âne, parce que le C ANSI n'a pas de support pour le réseau.Le probléme c'est que c'est un projet pour mon école et mon prof ne semble pas vouloir qu'on utilise des librairies autres que celle du C ANSI.
Les sockets (BSD ou Winsock2) sont des fonctions systèmes (plus ou moins POSIX.1) accessibles par certains compilateurs.
Pas de Wi-Fi à la maison : CPL
tout comme Médinoc je te conseille libcurl :
- portable .
- des bon examples sur leurs sites.
- n'est pas spécifique au protocole http , peut utiliser ftp ,etc ...
- une grande flexibilité , callback pour l'écriture de donné .
-libre
While I breath, I hope.
Urlmon.h n'est pas une bibliothèque, c'est un fichier d'en-tête de l'API Windows.
Rappelle à ton prof que le C ANSI ne sait pas ce que c'est qu'un socket, ni ce que c'est que le réseau, donc pas moyen en C ANSI. Par contre, tu peux utiliser une bibliothèque portable comme libcurl.
Edit: Voilà ce que c'est de s'interrompre pendant une demi-heure... doublement grillé...
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
Merci a tous c'est sympa de m'aider
C'est sympa aussi de préparer ma défense devant mon prof lol
je vous tiens au courant, je vais voir avec mon prof si il valide l'utilisation de cette librairie.
encore Merci
Bibliothèque, pas librairie (ou alors library).Envoyé par DooSquare
Pas de Wi-Fi à la maison : CPL
ReBonjour c'est encore moi,
je reviens vers vous car je n'arrive pas a installer libcurl sous codeblock,
pourtant tout semble fonctionner a la compilation mais a l'execution il me met une erreur sur libcurl.dll
"This application has failed to start beacause libcurl.dll was not found. Re - Installing the application may fix this problem"
Globalement il ne trouve pas la dll,
et moi je ne sais pas ou la mettre
Merci
ps: mon prof est OK pour la bibliothéque, il faut maintenant que j'arrive a la faire fonctionner...
Tu as lu le message posté juste avant le tien ?OK pour la librairie
je viens de corriger
désolés...
Bibliothéque!!!! C'est juste que j'ai pas tout le vocabulaire encore bien en phase avec la réalité...
Tu peux la mettre (libcurl.dll) dans un dossier du PATH, dans le dossier système (/windows/system32/) ou plus simplement (et conseillé pour éviter "l'enfer des DLLs") dans le dossier avec l'exécutable.Envoyé par DooSquare
dans le meme dossier que l'exeecutable cela ne fonctionne pas
je test dans le \WINDOWS\System32 et je vous tiens au courant...
Merci de ton conseil j'ai donc placé la dll dans windows system32
et...
j'ai toujours la même erreur mais maintenant il attend zlib1.dll ...
ok j'ai mis zlib1.dll dans system32 et maintenant c'est ok!!
Ah ?Envoyé par Emmanuel Delahaye
C'est quoi la différence entre bibliothèque/library et librairie ?
Merci
- Bibliothèque (FR) = Library (EN) = Les trucs qu'on ajoute aux options de l'éditeur de liens.
- Librairie (FR) = Bookshop (EN) = Pas du tout un terme informatique.
- Fichier d'en-tête (FR) = Header file (EN) = Les trucs qu'on #include.
Ça résume à peu près la différence.
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
Bonjour, excusez-moi, mais j'aimerais également récupérer le contenu d'une page web en C.
Pouvez-vous m'indiquer comment utiliser la library curl qui semble le meilleur choix pour quelqu'un qui ne s'y connait pas beaucoup en réseau ?
Connaissez-vous un bon tutoriel sur le sujet ?
Je n'ai pas trouvé sur le site, merci d'avance.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager