Хорошая бесплатная клиентская библиотека FTP (для коммерческих приложений Windows C++)?
Я ищу хорошую клиентскую библиотеку Windows с открытым исходным кодом для Windows с общедоступным доменом или лицензией типа BSD. Что-то, что у меня есть доступ к исходному коду, и я могу использовать его из C++ для приложений Windows в коммерческом приложении.
Мы использовали Wininet в течение многих лет, и он глючит и ужасен. Последняя капля - IE8 beta 2 содержит новую ошибку в InternetGetLastResponseInfo(). Я больше не могу оправдывать использование Wininet, когда наши пользователи могут установить последнюю версию IE и сломать наше приложение.
Я посмотрел на libcurl, но он слишком тяжел для наших нужд. Единственное, что мне нужно, это поддержка FTP. Я мог бы потратить целый день на то, чтобы разобрать весь код в libcurl, который мне не нужен, но я бы предпочел просто начать с хорошей простой клиентской библиотеки FTP, если это возможно.
Я посмотрел на ftplib ( http://nbpfaus.net/~pfau/ftplib/), но это GPL, и мне это нужно для коммерческого приложения с закрытым исходным кодом.
Я писал код клиента FTP раньше, это не так сложно (к сожалению, это было 15 лет назад, и у меня больше нет исходного кода). Должна быть хорошая простая бесплатная клиентская библиотека, которая делает только FTP и имеет лицензию, которую можно использовать в коммерческих приложениях с закрытым исходным кодом.
(Если вам интересно, ошибка заключается в том, что если вы пытаетесь выполнить FtpFindFirstFile() с FTP-сайтом, на котором невозможно установить соединение в пассивном режиме, InternetGetLastResponseInfo() не возвращает полный ответ. Это только один из многих ошибки, которые я обнаружил за последние годы. Еще одна проблема заключается в том, что поддержка Wininet FTP игнорирует все значения тайм-аута. Эта конкретная ошибка существовала годами.)
5 ответов
Вам нужен Ultimate TCP/IP, который сейчас бесплатный!
http://www.codeproject.com/KB/MFC/UltimateTCPIP.aspx
Вы получаете FTP. HTTP, SMTP, POP и многое другое.
Вы не пожалеете об этом.
Я использовал libCurl для очень хорошего эффекта. Единственный недостаток заключается в том, что, насколько мне известно, отсутствует поддержка парсинга информации каталога, которая возвращается с FTP-серверов (очевидно, стандартного формата каталога не существует).
Вы ищете интерфейс командной строки или API? Вы можете быть в состоянии адаптировать многофункциональный wget
к вашим потребностям. В противном случае, посмотрите на http://www.sourceforge.net/ множество вариантов.
Это лучшая из известных мне FTP-библиотек: FTP-библиотека Kira. Вы можете скачать ее по адресу: http://kirarelease.altervista.org/Home/index.html
Пройдите мышкой над полем, и вы поймете, почему мне так нравится: код самый простой, который я нашел до сих пор:)