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)

22
demandé sur Drew Chapin 2009-08-07 14:47:14

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.

18
répondu Yana Nugraha 2015-04-30 05:34:10

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.

9
répondu Glen 2009-08-07 10:50:25

Essayez libCurl . Il a des liaisons pour C++ ( cURLpp) et 30 autres langages.

8
répondu Vijay Mathew 2009-08-07 10:51:00

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.

2
répondu ovanes 2009-08-07 11:56:47

QT a une classe QFtp qui peut contenir tout ce dont vous avez besoin.

0
répondu shoosh 2009-08-07 11:42:14

Je pense que wininet.h devrait être suffisant pour visual studio 2008

0
répondu programmer 2011-11-02 11:54:27

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).

Http://www.codeproject.com/KB/MFC/UltimateTCPIP.aspx

-1
répondu Rob 2009-08-07 11:10:27

Utilisez simplement la norme "FtpWebRequest":

Http://msdn.microsoft.com/en-us/library/ms229711.aspx

-2
répondu kw9 2011-12-22 17:39:13