Bibliothèque FTP c++? [fermé]
Je suis à la recherche d'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 (Eh bien, il y a un projet client FTP complet pour Win95 dans CodeProject, mais je n'ai pas besoin du client FTP entier..), mais je n'ai trouvé que des bibliothèques C # FTP.
Pourriez-vous 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é statiquement (le cas échéant)
8 réponses
Juste pour informer ceux qui recherchent une bonne bibliothèque/Classe FTP c++, j'en ai trouvé une très bonne et facile à utiliser. L'utiliser est tout aussi facile que d'utiliser la bibliothèque C # FTP qui a déjà été faite par de nombreux peuples. Si vous n'en avez pas essayé un, voici un exemple de code:
nsFTP::CFTPClient ftpClient; nsFTP::CLogonInfo logonInfo("localhost", 21, "anonymous", "anonymous@user.com"); // connect to server ftpClient.Login(logonInfo); // get directory listing nsFTP::TSpFTPFileStatusVector list; ftpClient.List("/", list); // iterate listing for( nsFTP::TSpFTPFileStatusVector::iterator it=list.begin(); it!=list.end(); ++it ) TRACE("\n%s", (*it)->Name().c_str()); // do file operations 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"); ftpClient.Delete("/upload/NewName.txt"); // disconnect 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 post, parce que je pensez que c'est une meilleure solution, plutôt que d'utiliser ceux qui ont écrit en C.
Libftp (bien qu'il 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 envelopper une bibliothèque C dans des classes C++ ne serait pas difficile si vous avez vraiment besoin d'une interface c++.
Edit: juste vu 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'un la bibliothèque C++ pré-compilée ne fonctionnera pas pour vous.
Jetez un oeil à Projet Poco publié sous licence Boost software.
Ils fournissent une implémentation FTP RFC 959. Vous pouvez faire des fichiers de connexion ou de updload, changer de mode, etc. comme la fonctionnalité de FTPSession classe.
Cordialement,
Ovanes
P.S. c'est une lib multi-plateforme, qui fonctionne aussi sur Windows.
Je pense que wininet.h devrait être suffisant pour visual studio 2008
Essayez Ultimate TCP / IP qui supporte FTP (et vous pouvez simplement compiler dans la partie FTP). C'est une grande bibliothèque (et c'est gratuit).