Библиотека для скачивания файлов по HTTP
От: dimb Россия  
Дата: 25.04.08 06:31
Оценка:
Ищется библиотека на C/C++, платформа Windows. Или же command-line utility с лицензией, позволяющей использовать утилиту в коммерческом проекте (GPL не подходит, LGPL подходит).
Требования следующие. Библиотека/утилита должны быть устойчивы к плохой связи, или даже к обрывам связи. Сейчас в моём проекте использую для скачивания MFC классы CHttpConnection и CHttpFile. На хорошем канале связи всё качается прекрасно, но если связь идёт через GPRS, то большие файлы (более 1 мегабайта) скачиваются только частично, то есть скачка прерывается досрочно. Поэтому ищу библиотеку/утилиту, которой бы можно было на вход подать только URL и путь для скачиваемого файла, а в ответ получать только процент скачивания. Также должна быть возможность остановить скачивание. В общем, получается что-то вроде download manager, но только в виде библиотеки или command-line utility. Сам ищу довольно долго, но пока безрезультатно...
Re: Библиотека для скачивания файлов по HTTP
От: php-coder Чехия http://slava-semushin.blogspot.com
Дата: 25.04.08 06:37
Оценка: 1 (1)
Здравствуйте, dimb, Вы писали:

D> Ищется библиотека на C/C++, платформа Windows.


libcurl ?
Re[2]: Библиотека для скачивания файлов по HTTP
От: dimb Россия  
Дата: 25.04.08 06:41
Оценка:
PC>libcurl ?

А она устойчива к обрывам/плохой связи?
Re[3]: Библиотека для скачивания файлов по HTTP
От: Conr Россия  
Дата: 25.04.08 10:05
Оценка: 2 (1)
Здравствуйте, dimb, Вы писали:

PC>>libcurl ?


D>А она устойчива к обрывам/плохой связи?

При правильном применении да: размер файла получить заранее, если соединение рвется, то, если файл недокачен — запустить заново, libcurl докачку поддерживает, строк 20 кода с комментариями
Re[4]: Библиотека для скачивания файлов по HTTP
От: dimb Россия  
Дата: 25.04.08 12:17
Оценка: 2 (1)
D>>А она устойчива к обрывам/плохой связи?
C>При правильном применении да: размер файла получить заранее, если соединение рвется, то, если файл недокачен — запустить заново, libcurl докачку поддерживает, строк 20 кода с комментариями

Нашёл, что докачка поддерживается через вызов

res = curl_easy_setopt(curl, CURLOPT_RESUME_FROM, downloadedSz);


Большое спасибо.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.