Was Sie wirklich wollen, ist eine Anwendung, die eine Datei in Teilen von verschiedenen Schnittstellen herunterladen und am Ende zusammenfügen kann. Wenn Sie zum Beispiel wussten, dass Ihre Datei 100 MB groß ist und Sie Stücke von etwa 10 MB beschaffen möchten, möchten Sie Folgendes tun:
1. start a download of bytes 0..10000000 on eth0, saving to filename.part1 2. start a download of bytes 10000001..20000000 on eth0:0, saving to `filename.part2 3. start a download of bytes 20000001..30000000 on eth0:1, saving to filename.part3 ... N-1. wait for all downloads to complete N. join all filename.part* together to get filename.complete
Ich wget
kann eine teilweise heruntergeladene Datei wieder aufnehmen. Ich bin mir ziemlich sicher, dass es funktioniert, indem Sie bis zum Ende der vorhandenen Datei lesen und dann die Datei ab dem nächsten Byte vom Server anfordern.
Es sieht so aus, als curl
unterstütze es partielle Downloads mit dieser --range <byterange>
Option. So könnten Sie die obigen Schritte wie folgt schreiben:
1. curl --interface eth0 --range 0,10000000 http://some.server.com/bigfile -o bigfile.part1 2. curl --interface eth0:0 --range 10000001,20000000 http://some.server.com/bigfile -o bigfile.part2 ... N. cat bigfile.part* > bigfile
Vorsichtsmaßnahmen: Das funktioniert nicht immer. Wenn auf dem HTTP / 1.1-Server die Funktion zum teilweisen Download nicht aktiviert ist, wird bei jedem Aufruf die gesamte Datei angezeigt. Weitere man curl
Informationen zu dieser --range
Option finden Sie hier.
Bearbeiten: feste Bytebereiche in Beispielen