Je cherche une bibliothèque FTP pour C++ pour faire des fonctions ftp de base comme authentifier, changer de répertoire, télécharger des fichiers, etc. mais je n'arrive pas à en trouver un. J'ai cherché sur Google, Sourceforge et CodeProject (enfin, il y a un projet FTP CLIENT complet pour Win95 dans CodeProject, mais je n'ai pas besoin de tout le client ftp ..), mais je n'ai trouvé que des bibliothèques FTP C #.
Pourriez-vous, s'il vous plaît, m'en suggérer une bonne? ou peut-être une alternative?
Merci.
fyi: Microsoft Visual C++ 2008 Express Edition est mon seul IDE, et je préfère la bibliothèque statique précompilée (* .lib) qui peut être liée statiquement (le cas échéant)
Juste pour informer ceux qui recherchent une bonne bibliothèque/classe FTP C++, j'en ai trouvé une très bonne et facile à utiliser. Son utilisation est tout aussi simple que l'utilisation de la bibliothèque FTP C # qui a déjà été créée par de nombreuses personnes. Si vous n'en avez pas essayé, voici un exemple de code:
nsFTP :: CFTPClient ftpClient; nsFTP :: CLogonInfo logonInfo ("localhost", 21, "anonymous", "[email protected]"); // se connecter au serveur ftpClient.Login (logonInfo); // obtenir la liste des répertoires nsFTP: : Liste TSpFTPFileStatusVector; FtpClient.List ("/", liste); // liste itérée Pour (nsFTP :: TSpFTPFileStatusVector :: itérateur it = list.begin (); it! = list.end (); ++ it) TRACE ("\ n% s", (* it) -> Nom () .c_str ()); // effectuer des opérations sur les fichiers ftpClient.DownloadFile ("/ pub/test.txt", "c:\\ temp \\ test.txt "); ftpClient.UploadFile (" c: \\ temp \\ test.txt "," /upload/test.txt");;..____ .] ftpClient.RenameFile ("/ upload/test.txt", "/upload/NewName.txt");;.____. diplomatique.____. diplomatique ftpClient.Delete("/upload/NewName. txt "); // déconnecter ftpClient.Logout ();
http://www.codeproject.com/Articles/8667/FTP-Client-Class et profitez-en!
Et il est totalement programmé en C++ avec STL (pas de MFC)
Je suis désolé d'avoir changé la réponse à ce message, car je pense que c'est une meilleure solution, plutôt que d'utiliser celles qui ont écrit en C.
libftp (bien que ce soit en C)
ftplib (encore une fois, ressemble à C)
libCurl semble avoir des capacités FTP.
Trouver une implémentation C++ peut être difficile, mais encapsuler une bibliothèque C dans des classes C++ ne serait pas difficile si vous avez vraiment besoin d'une interface C++.
Edit: Je viens de voir que vous préférez une bibliothèque précompilée. Si c'est une exigence absolue, vous devrez probablement utiliser une bibliothèque C car les problèmes ABI signifieront plus que probablement qu'une bibliothèque C++ précompilée ne fonctionnera pas pour vous.
Jetez un œil à Poco Project publié sous la licence du logiciel Boost.
Ils fournissent une implémentation FTP RFC 959. Vous pouvez créer des fichiers de connexion ou de mise à jour, changer de mode, etc. en tant que fonctionnalité de la classe FTPSession .
Cordialement,
Ovanes
P.S. Il s'agit d'une bibliothèque multi-plateforme, qui fonctionne également sur Windows.
je pense que wininet.h devrait être suffisant pour Visual Studio 2008
QT a une classe QFtp qui peut contenir tout ce dont vous avez besoin.