C, Linux, Socket pour downloader un .html

Fermé
frzburn Messages postés 200 Date d'inscription samedi 6 mars 2004 Statut Membre Dernière intervention 19 juin 2005 - 17 juin 2005 à 17:00
kilian Messages postés 8732 Date d'inscription vendredi 19 septembre 2003 Statut Non membre Dernière intervention 5 février 2025 - 26 avril 2007 à 10:10
Salut!
J'en ai ras-le-bol... J'ai chercher autant comme autant sur le net, des tutoriaux, des sources, des forums... pour trouver comment faire pour aller recuperer qqch sur internet en c. Rien a faire!!!
Tout ce que j'ai trouver, c'est en utilisant une fonction du .NET. Mais je fais mon programme en c, et dans Linux!
C'est sur que ca se fait, tout peut se faire! J'ai downloader les sources de wget pour chercher, mais bon dieu, c'est bien trop compliquer et j'ai pas vraiment trouver de reponse.
Tout ce que je veux faire, c'est downloader une page html avec une adresse predefinie, pour ensuite extraire les infos que je veux de cette page...

Qqn aurait pas deja fait ca??

Merci!

==============================================
RTFMFM
A voir également:

6 réponses

lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
17 juin 2005 à 18:48
0
kilian Messages postés 8732 Date d'inscription vendredi 19 septembre 2003 Statut Non membre Dernière intervention 5 février 2025 1 526
18 juin 2005 à 04:50
Salut,

Mais si tu veux faire ça en C tu as par exemple la bibliotheque libcurl.
En quelques lignes de C c'est réglé.
Exemple pour télécharger la page d'acceuil de CCM:
#include <stdio.h>
#include <curl/curl.h>
#include <curl/types.h>

int main(int argc, char **argv)
{
	CURL *handle;  // Ressource curl
	FILE *index;      // Fichier destination
	index=fopen("./index.php3","w");
	handle=curl_easy_init();  //Initialisation

         //Url à spécifier	          
curl_easy_setopt(handle,CURLOPT_URL,"http://www.commentcamarche.net/index.php3");
         /* La fonction que l'on va utiliser pour écrire dans le fichier, ici on prend fwrite() */
	curl_easy_setopt(handle,CURLOPT_WRITEFUNCTION,fwrite);
	//On passe le pointeur vers le fichier index
        curl_easy_setopt(handle,CURLOPT_WRITEDATA,index);
        //Et c'est parti
	curl_easy_perform(handle);
	curl_easy_cleanup(handle);
	fclose(index);
}

Sous Linux avec gcc, il faut compiler ça avec l'option -lcurl
gcc ton_appli.c -o ton_appli.o -lcurl

Et il faut aussi installer libcurl...
0
kilian Messages postés 8732 Date d'inscription vendredi 19 septembre 2003 Statut Non membre Dernière intervention 5 février 2025 1 526
18 juin 2005 à 05:03
Des infos là dessus:
http://curl.haxx.se/libcurl/c/
0
frzburn Messages postés 200 Date d'inscription samedi 6 mars 2004 Statut Membre Dernière intervention 19 juin 2005 45
19 juin 2005 à 22:37
Waahoo!! Merci kilian, je vais aller essayer ca de ce pas!!


==============================================
RTFMFM
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Je cherchais depuis un petit moment comment enregistrer le résultat de mes requêtes de manière fiable et rapide pour les traiter ensuite et je suis tombé presque par hasard sur ton post!

Et je dois avouer, ça fonctionne nikel, et je n'ai trouvé cette info nulle part ailleur, c'est quand même un comble :)
0
kilian Messages postés 8732 Date d'inscription vendredi 19 septembre 2003 Statut Non membre Dernière intervention 5 février 2025 1 526
26 avril 2007 à 10:10
Ah cool :-)
Ben tiens si j'y pense je mettrai cette info dans les astuces....
0