Ich habe einige Probleme mit libcurl. Das Problem sehe ich, wenn ich versuche, den Download einer bereits heruntergeladenen Datei fortzusetzen. Aber in einigen Fällen weiß ich nicht, ob es heruntergeladen wurde oder nicht, also versuchen wir erneut mit fortfahren, was mit HTTP 416 fehlschlägt - Server unterstützt keine Byte-Bereiche.cURL Befehlszeile oder lib - Fortsetzen des Dateidownloads - IIS
Dies ist definitiv nicht wahr, da der Server an jedem Punkt fortfahren kann, bis die Datei heruntergeladen ist.
Gibt es eine Möglichkeit, dass libcurl weiß, dass eine Datei tatsächlich bereits heruntergeladen wurde und diesen irreführenden Fehler nicht gibt?
Oder kann ich irgendwie anders chec, wenn es vollständig heruntergeladen wird?
~ # ./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
Vielen Dank!
Wäre es wahrscheinlich am besten, mit IIS zu optimieren, um die Inhaltslänge in 416 zurückzugeben, die locken wird, dass infact Download abgeschlossen ist. Sonst ist es ein bisschen nutzlos, weiter zu haben ... Oder wenn curl das nur auf 416 tun würde – Lonko
Richtig, Curl könnte es vielleicht für den 416 Fall tun, aber ich bin mir nicht sicher, wie sicher Curl sein kann, dass der Grund genau das ist das ganze Ding ist bereits heruntergeladen ... Ich bin offen für Patches für jeden, der daran arbeiten will! –