Wie kann ich eine ZIP-Datei mit dem Befehl curl herunterladen? Ich habe es versucht curl -sO
, aber es ist ein Fehler aufgetreten. Ich möchte eine ZIP-Datei von folgender Adresse herunterladen:
http://github.com/ziyaddin/xampp/archive/master.zip
kann aber nicht. Was muss ich eingeben?
downloads
command-line
zip
curl
Ziyaddin Sadigov
quelle
quelle
Antworten:
Ich habe verwendet
curl -LO
und es hat gut funktioniert.wget
funktioniert auch.quelle
Versuchen Sie wget statt curl:
wget http://github.com/ziyaddin/xampp/archive/master.zip
quelle
wget
stattcurl
?unzip
der heruntergeladenen Dateicurl
und es funktionierte einwandfrei mitwget
Sie können verwenden:
Speichert als:
xampp-cli-master.zip
-L
Option, wenn eine Umleitung gefunden wurde.-O
von Remote - Dateinamen (master.zip
)-J
(benutze mit-O
), um den Dateinamen des entfernten Headers (xampp-cli-master.zip
) zuzulassenOder verwenden Sie
-o
, um Ihren eigenen Dateinamen zu erstellen:curl https://github.com/ziyaddin/xampp/archive/master.zip -L -o MyFilename.zip
Speichert als:
MyFilename.zip
Hinweis: (GitHub unterstützt SSL - Verwendung
https://
)Sie können auch eine
curlrc
Konfigurationsdatei oder einen Alias für den CURL-Befehl verwendencurl -O -L
, damit er ähnlich wie WGET funktioniert.Konsultieren Sie: https://curl.haxx.se/docs/manpage.html#OPTIONS (Siehe: -O , -J , -L , -o )
Beachten Sie die Warnung zur Verwendung von CURL mit der Option -J:
quelle
Wenn Sie die Datei herunterladen möchten, verwenden Sie
wget [option]... [URL]...
stattdessen.Weitere Informationen zu den Optionen erhalten Sie, indem Sie Folgendes in Ihr Terminal eingeben:
man wget
Für Sie:
wget http://github.com/ziyaddin/xampp/archive/master.zip
Beachten Sie, dass die ZIP-Datei im aktuellen Verzeichnis gespeichert wird, in dem Sie sich befinden.
quelle
wget
gegenüber von zu erläuterncurl
. Für alle, die sich die Unterschiede zwischen den beiden fragen, siehe hier .curl
auchwget
in untergeordneter Rolle beiträgt . Eine krasse Auslassung (basierend auf meinem einmaligen kleinen Projekt) ist, dass wget 10-mal schneller ist als curl (<2 Sekunden vs. 12 Sekunden) und Sonnenauf- und -untergangszeiten vonhttps://www.timeanddate.com
Um Dateien in GitHub (oder auf einer anderen Site, die Weiterleitungen erstellt) mit herunterzuladen
curl
, müssen Sie-L
Folgendes übergeben (Weiterleitungen folgen):curl -L http://github.com/ziyaddin/xampp/archive/master.zip -o xampp.zip
quelle
Mit "curl -LOk" werden unsichere Protokolle (-k) verwendet, SSL-Zertifikatsüberprüfungen deaktiviert (die fehlschlagen, weil der falsche Pfad nicht mit dem Zertifikat übereinstimmt) und die Ausgabedatei mit dem vom Remoteserver vorgeschlagenen Dateinamen (-O) erstellt (auch unsicher). Meiner Meinung nach sollte der Server besser so konfiguriert werden, dass bei Bedarf lokale Umleitungs-Aliase erstellt werden, um zu vermeiden, dass dieser nicht konforme Teil der URL übergeben werden muss. Die Umleitung erfolgt jedoch nur über eine HTTP-Umleitung (HTTP-Fehler 30x), wodurch Probleme auftreten, die (standardmäßig) nicht auf diese (unsichere) Umleitung folgen, und die Option (-k) deaktiviert diese Sicherheitsüberprüfung. Fügen Sie statt HTTP-Weiterleitungen (dauerhaft verschoben) einen internen Link zum Dateisystem des Servers hinzu. Wenn dies erforderlich ist, weil die URL tatsächlich auf einem anderen physischen Server ohne direkten Zugriff zwischen ihren Dateisystemen gehostet wird, sollten Sie einen anderen DNS-Namen für diesen Host verwenden, damit die Clients den richtigen direkt abfragen, ohne dass eine Umleitung erforderlich ist. Korrigieren Sie dann Ihre Webseiten (Sie können Ihre Webserver-Protokolle verwenden, um festzustellen, wo HTTP 30x-Weiterleitungen zurückgegeben werden und welche Webseiten möglicherweise überprüft und aktualisiert werden müssen). Es ist keine gute Option, Clients zu zwingen, ungesicherte / ungeprüfte Protokolle zu verwenden.
Dies ist also definitiv ein Problem mit einer sehr schlechten Konfiguration auf dem Webserver: Wenden Sie sich an den Administrator, um das Problem zu beheben.
quelle
Nun, Sie können auch Axel verwenden . axel ist ein Light Command Line Download Accelerator. es unterstützt
HTTP, HTTPS, FTP
undFTPS
protokolle. Es ist eine schöne und schnellere Alternative.installieren
axel
mit:Laden Sie dann Ihre Datei herunter, indem Sie:
quelle
Verwenden Sie die Option
-L
, um Weiterleitungen zu folgen. Sie können auch die--output
Option verwenden, um der ZIP-Datei einen Pfad und einen Namen zu geben. Beispielsweise:Hinweis: Verwenden Sie sudo, wenn Sie nicht zum Schreiben in den Zielordner berechtigt sind.
quelle