Downloader en c++

Signaler
Messages postés
25
Date d'inscription
jeudi 29 avril 2004
Statut
Membre
Dernière intervention
18 novembre 2005
-
Messages postés
25
Date d'inscription
jeudi 29 avril 2004
Statut
Membre
Dernière intervention
18 novembre 2005
-
lut tout le monde !

Je connais quelque bases de c++ !
Et je cherche une fonction permetant de downloader un fichier : du genre :
downloadfile("http://url.com/fichier.exe", "C:/");
Mais , lol, Connaissant le style du C++ sa risque de ne pas etre aussi simple que sa :/
Si quelqun pouvait m'aider me dire une fonction et sa librairie :) sa serai sympa

Merci!

SpyK

8 réponses

Messages postés
2865
Date d'inscription
samedi 2 novembre 2002
Statut
Membre
Dernière intervention
11 mai 2009
10
il me semble que sur le site on trouve deja au moins une source qui permet de telecharger une fichier a partir d'une adresse. l'as-tu regarder?
Bob...

"La chance accorde ses faveur aux esprits avertis..."
Messages postés
780
Date d'inscription
lundi 16 décembre 2002
Statut
Membre
Dernière intervention
16 avril 2009
1
TÉLÉCHARGER UN FICHIER (WIN32, SOCKETS)



http://www.cppfrance.com/code.aspx?ID=24109






Urgo
Messages postés
1905
Date d'inscription
mercredi 22 janvier 2003
Statut
Membre
Dernière intervention
17 septembre 2012
2
Salut,
Je sais pas si ma source va servir a grand chose ici, car apparement alexou09 n'a pas trop l'air de vouloir se lancer dans les sockets.
Par contre il existe une fonction qui pourrait faire l'affaire: URLDownloadToFile
voir dans msdn.
Messages postés
25
Date d'inscription
jeudi 29 avril 2004
Statut
Membre
Dernière intervention
18 novembre 2005

ok merci aardman car toute les source traitans de sa avait plein de fonction en plus ou je ne comprenais rien a part la plus simple dont je me souvient plus le nom ok merci je vais voire pour
URLDownloadToFile sur MSDN

SpyK
Messages postés
25
Date d'inscription
jeudi 29 avril 2004
Statut
Membre
Dernière intervention
18 novembre 2005

OK donc voila mon code :



<HR>



<HR>


#include // dit d'utiliser iostream.h
#include // dit d'utiliser iostream.h


int main() // debut du programme
{


char pcaller[20];
char szURL[70] = "http://www.google.fr/images/logo_sm.gif;
char szFileName[70] = "logo_google.gif;





cout << "Programme de download de fichier..." << endl;

system("pause"); //demande avant de continuer
cout << "Download..."
URLDownloadToFile(pcaller, szURL, szFileName, 0, NULL) //telecharger...


system("pause"); //demande avant de continuer


return 1;
}

<HR>

<HR>
Donc premier probleme (evidament lol) : C'est quoi Pcaller? (texte de msdn :


<DD>Pointer to the controlling IUnknown interface of the calling Microsoft ActiveX component (if the caller is an ActiveX component). If the calling application is not an ActiveX component, this value can be set to NULL. Otherwise, the caller is a Component Object Model (COM) object that is contained in another component (such as an ActiveX control within the context of an HTML page). This parameter represents the outermost IUnknown of the calling component. The function attempts the download within the context of the ActiveX client framework and allows the caller's container to receive callbacks on the progress of the download.
??
Sinon mon compilaeur (borland ) me dit : E2379 : manquant dans l'instruction en me surligant la ligne de URLDownloadToFile. Que faire!

Merci </DD>

SpyK
Messages postés
25
Date d'inscription
jeudi 29 avril 2004
Statut
Membre
Dernière intervention
18 novembre 2005

OK c bon enfaite ces arguments sont fait pour les barres de progressions donc
je met NULL
en plus j'avais oublier des ";" lol l'erreur du noob :)
Donc maintenant le compilateur me dit erreur de liaison :( !
Unresolved external "URLDoownloadToFileA referenced from C:\...\programme.cpp

Que faire lol!

Merci j'espere que vous pourrez m'aider!

SpyK
Messages postés
203
Date d'inscription
lundi 2 août 2004
Statut
Membre
Dernière intervention
8 septembre 2006

Avec une rapide recherche tu serais tombé sur ca par exemple
http://www.cppfrance.com/code.aspx?ID=25769

//---------------------------------------------------------------------------
// Fonction pour télécharger des fichiers sur un serveur Web
// Cette fonction télécharge une liste de fichiers depuis un server web.
// Si le fichier existe déjà le fichier n'est pas retéléchargé
// Accepte autant de fichiers que necessaire en argument
void fTelecharge_HTTP ( unsigned short f_Nb_Arg , // Nombre de fichier à télécharger
char f_Arg_Source [ 256 ] , // Répertoire ou télécharger les fichiers sur server WEB
char f_Arg_Destination [ 256 ] , // Répertoire ou copier les fichiers en local
... ) // Listes des fichier à récuperer
{
// Initialisation des macros pour la gestion du nombre variable de fichier
va_list f_Arg_Fichier ; // Définition du pointeur
va_start ( f_Arg_Fichier , f_Arg_Destination ) ; // Initialisation du pointeur sur le premier des arguments


// Déclaration des variables locales
unsigned short f_i ;
char f_Fichier [ 256 ] , f_Source [ 256 ] , f_Destination [ 256 ] , f_Msg_Log [ 1024 ] ;


// Téléchargement des fichiers
for ( f_i = 1 ; f_i <= f_Nb_Arg ; f_i ++ )
{


strcpy ( f_Source , f_Arg_Source ) ; strcpy ( f_Destination , f_Arg_Destination ) ; strcpy ( f_Fichier , va_arg ( f_Arg_Fichier, char * ) ) ;
strcat ( f_Source , f_Fichier ) ; strcat ( f_Destination , f_Fichier ) ;
// Test si l'operation a reussie et log si l'opération échoue
if ( URLDownloadToFile ( NULL , f_Source , f_Destination , NULL , NULL ) != S_OK )
{
if ( f_Log_Dl_HTTP == 0 )
{
sprintf (f_Msg_Log , "fTelecharge_HTTP : Echec de telechargement du fichier de %s vers %s" , f_Source , f_Destination );
fError_Msg ( GetLastError (), f_Msg_Log) ;
}
}
}
}
//---------------------------------------------------------------------------

Tu a plus qu'a faire le tri et a adapter

Bon courrage.
Messages postés
25
Date d'inscription
jeudi 29 avril 2004
Statut
Membre
Dernière intervention
18 novembre 2005

merci

SpyK