Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > Builder 2010: Способы загрузки файлов с FTP


Автор: ZVano 18.2.2011, 13:25
Какие способы загрузки файлов доступны разработчику CodeGear 2010 Builder?
Какой способ выбрать в контексте нижеописаной задачи?


Моя задача такова: Нужно написать программу, которая будет скачивать файлы с обновлениями основного продукта.
* Есть FTP-сервер с обновлениями программы, которые сложены в определенном каталоге.
Доступ к файлам может быть открытым, а может быть доступен по логину\паролю.
* Есть клиеты(клиент - это человек), расположенные в разных городах. Они работают в основной программе, которую нужно иногда обновлять.
Для обновления клиент запускает программу-апдейтер.
Апдейтер лезет на FTP и составляет список доступных обновлений.
Смотрит, чего у него не хватает и закачивает.
После закачки обновляет.

При этом апдейтер должен уметь работать через прокси-серверы разлицніх типов (HTTP, FTP, SOCKS4, SOCKS5).

Вот и возникает вопрос, что использовать.
Планировал использовать компонент IdFtp из встроенного пакета Indy, но оказалось что он не умеет работать через HTTP-прокси (ProxyType fpcmHttpProxyWithFtp не реализован).

Приглядываюсь к библиотеке CURL, но не знаю поможет ли она мне.

Прикладываю тестовое приложение(с исходниками) по использованию IdFtp там можно попробовать работу в разных режимах.

Варианты:
Доступные в IDE без дополнительных шаманств:
  • Компоненты Indy. В частности, компонент "IdFtp". 
    Возможно, после установки IDE, не будет закладок с  компонентами. Устаноовите их вручную из "...\source\Indy\..."
  • WinInet - Использование dll Windows (WinAPI).
    Читать тут: http://msdn.microsoft.com/en-us/library/aa385331(v=VS.85).aspx

Недоступные в IDE изначально:
  • libCURL - кроссплатформенная библиотека, предоставляющая обобщенный интерфейс для работы с ресурсами URI.
    Читать тут: http://curl.haxx.se
    API: http://curl.haxx.se/libcurl/c/
  • QFtp - класс кроссплатформенной библиотеки Qt.
    Читать тут: http://doc.qt.nokia.com/4.7/qftp.html


Автор: xvr 18.2.2011, 17:25
Приглядитесь к http://msdn.microsoft.com/en-us/library/aa385331%28v=VS.85%29.aspx, он должен уметь все, что вам надо

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)