Библиотека FTP на C++? [закрытый]
Я ищу FTP-библиотеку для C++ для выполнения основных функций ftp, таких как аутентификация, изменение каталога, загрузка файлов и т. д. но, кажется, я не могу его найти. Я искал через Google, Sourceforge и CodeProject (ну, есть один полный проект FTP-клиента для Win95 в CodeProject, однако мне не нужен весь ftp-клиент..), но я нашел только FTP-библиотеки C#.
не могли бы вы, ребята, предложить мне хороший? или, может быть альтернатива?
спасибо.
fyi: Microsoft Visual C++ 2008 Express Edition - моя единственная IDE, и я предпочитаю предварительно скомпилированную статическую библиотеку (*.lib), который может быть статически связан (если есть)
8 ответов
просто сообщить тем, кто ищет хорошую библиотеку/класс FTP C++, я нашел очень хороший и простой в использовании. Использовать его так же просто, как использовать FTP-библиотеку C#, которая уже была сделана многими людьми. Если вы еще не пробовали, вот пример кода:
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 и наслаждайтесь!
и он полностью запрограммирован на C++ с STL (без MFC)
извините за переключение ответ на этот пост, потому что я думаю, что это лучшее решение, а не использовать те, что написаны в с.
libftp (хотя это в C)
ftplib (опять же, похоже на C)
libcurl о Кажется, есть возможности FTP.
найти реализацию C++ может быть сложно, но упаковка библиотеки C в классы C++ не будет сложной, если вам действительно нужен интерфейс c++.
Edit: просто увидел, что вы предпочитаете предварительно скомпилированную библиотеку. Если это абсолютное требование, вам, вероятно, придется использовать библиотеку C, поскольку проблемы ABI будут скорее всего, это означает, что предварительно скомпилированная библиотека C++ не будет работать для вас.
посмотри Проект Poco выпущено под лицензией Boost software.
Они обеспечивают реализацию FTP RFC 959. Вы можете войти в систему или updload файлы, менять режимы и т. д. как функциональность FTPSession класса.
с уважением,
Ованес!--3-->
P. S. Это является мульти-платформенных Либ, который работает также на Windows.
попробуйте Ultimate TCP / IP, который поддерживает FTP (и вы можете просто скомпилировать в FTP-части). Это отличная библиотека (и она бесплатна).