C, Linux, Socket pour downloader un .html

frzburn Messages postés 200 Statut Membre -  
kilian Messages postés 8675 Date d'inscription   Statut Modérateur Dernière intervention   -
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

6 réponses

  1. kilian Messages postés 8675 Date d'inscription   Statut Modérateur Dernière intervention   1 526
     
    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
  2. frzburn Messages postés 200 Statut Membre 45
     
    Waahoo!! Merci kilian, je vais aller essayer ca de ce pas!!

    ==============================================
    RTFMFM
    0
  3. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  4. seb3ange21
     
    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
  5. kilian Messages postés 8675 Date d'inscription   Statut Modérateur Dernière intervention   1 526
     
    Ah cool :-)
    Ben tiens si j'y pense je mettrai cette info dans les astuces....
    0