У меня возникли проблемы с libcurl. Проблема, которую я вижу, когда пытаюсь возобновить загрузку файла, который уже был загружен. Но в некоторых случаях я не знаю, была ли она загружена или нет, поэтому мы пытаемся перезагрузить с продолжением, что не удается с HTTP 416 - сервер не поддерживает байтовые диапазоны.Командная строка cURL или lib - возобновление загрузки файла - IIS
Это определенно неверно, так как разъезд может продолжаться в любой точке до загрузки файла.
Есть ли способ, которым libcurl знал бы, что файл уже загружен и не дает этой ошибочной ошибки?
Или может я как-нибудь иначе chec, если он будет загружен полностью?
~ # ./curl -L -O -C - http://speedtest.ftp.otenet.gr/files/test10Mb.db
sk_sort:0xb6f4eae4
** Resuming transfer from byte position 10485760
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
curl: (33) HTTP server doesn't seem to support byte ranges. Cannot resume.
~ # ls -ltr test10Mb.db
-rw-r--r-- 1 root root 10485760 Aug 9 09:13 test10Mb.db
Спасибо!
Возможно, было бы лучше всего настроить с помощью IIS, чтобы вернуть длину содержимого в 416, который уведомит завиток, что загрузка infact завершена. В противном случае немного бесполезно продолжать ... Или если curl сделает это только на 416 – Lonko
Правильно, завиток может сделать это для случая 416, но я не уверен, насколько уверенным может быть то, что причина в том, что именно это все уже загружено ... Я открыт для патчей для тех, кто хочет работать над этим! –