C, Linux, Socket pour downloader un .html
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
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
-
Modérateur
-
ModérateurSalut,
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... -
ModérateurDes infos là dessus:
http://curl.haxx.se/libcurl/c/ -
Waahoo!! Merci kilian, je vais aller essayer ca de ce pas!!
==============================================
RTFMFM -
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 :) -
ModérateurAh cool :-)
Ben tiens si j'y pense je mettrai cette info dans les astuces....