Sehr große Dateien mit HTTP herunterladen

Sehr große Dateien mit HTTP herunterladen

Ich lade diePlaceNetkomprimierte Datenbank mit Ortsbildern (~132 GiB). Leider ist die heruntergeladene Datei beschädigt. Ich habe es mehrmals versucht, jedes Mal wurde die Extraktion an einer anderen Stelle gestoppt (die Offsets könnten ungefähr 10 GiB, 30 GiB usw. sein).PlaceNetbietet keine geteilten Versionen zum Herunterladen an. Das Problem dürften einige Bytes in der heruntergeladenen Datei sein. Was kann ich tun, um zu vermeiden, dass ich die ganze Datei noch einmal herunterladen muss?

Meine Ideen sind:

  1. Gibt es eine TCP-Erweiterung für eine erweiterte Datagramm-Prüfsumme? Und wie verwendet man sie?

  2. Kann ich den Offset (ungefähr) zum ersten Fehlerbyte sehen, wennwaffenzipKlingeln?

  3. Ich benutzeAxelzum Herunterladen. Ist es nach Abschluss des Downloads möglich, einige Teile der Datei erneut herunterzuladen? Erstellen Sie beispielsweise die XXX.stDatei für Axel, markieren Sie einen Bereich als nicht heruntergeladen und führen Sie Axel erneut aus.

Antwort1

Sie können einen anderen Ansatz ausprobieren, z. B. einen FUSE-Wrapper verwenden, um eine Remote-Datei über HTTP zu „mounten“ und dann Standardtools darauf aufzurufen. Die Tools versuchen, bestimmte Bytes zu lesen, und diese Versuche werden in HTTP-GET-Anfragen im Bytebereich übersetzt.

Dies wurde auf StackOverflow diskutiert, indiese tolle AntwortvonAdamwelches verwendetHTTPFS:

Mounten Sie eine Remote-ZIP-Datei und extrahieren Sie eine Datei daraus:

mkdir mount_pt
sudo ./httpfs http://server.com/zipfile.zip mount_pt
sudo ls mount_pt zipfile.zip
sudo unzip -p mount_pt/zipfile.zip the_file_I_want.txt > the_file_I_want.txt
sudo umount mount_pt

In Deinem Fall, wenn es sich bei der Datei nicht um eine ZIP-Datei, sondern z. B. um eine tar.gzDatei handelt (das kann ich nicht überprüfen, da der von Dir angegebene Link eine Registrierung erfordert), dann könntest Du die Schritte anpassen:

mkdir mount_pt
sudo ./httpfs http://example.com/file.tar.gz mount_pt
sudo tar xzvf mount_pt/file.tar.gz

Oder rufen Sie sogar file-rollerein anderes GUI-Tool im Archiv auf.

verwandte Informationen