2009-03-11 18 views
113

Sind sie gleich oder nicht? Können bestimmte Dinge mit einem, aber nicht mit dem anderen gemacht werden? Was sind diese? Oder ist es am Ende des Tages eine Frage der Vertrautheit?Was ist besser, Curl oder Wget?

+2

MarcusQ hatte eine Antwort, in der vorgeschlagen wurde, einen Vergleich mit dem Curl-Typen zu betrachten: https://daniel.haxx.se/docs/curl-vs-wget.html. Leider wurde diese Antwort gelöscht anstatt in einen Kommentar umgewandelt zu werden. –

Antwort

11

Beide bieten endlose Optionen, von denen die meisten ich nie benutzt habe. Ich neige jedoch dazu, wget mehr zu mögen, da es standardmäßig die Ausgabe von der angegebenen URL speichert - perfekt zum Herunterladen. Curl geht in die andere Richtung und zeigt die Ausgabe direkt zum Terminal an (standardmäßig).

39

Wenn Sie programmieren, sollten Sie curl verwenden. Es hat eine schöne API und ist für die meisten Sprachen verfügbar. Sich an das Betriebssystem zu wenden, um wget auszuführen, ist ein Kludn und sollte nicht gemacht werden, wenn Sie eine API-Schnittstelle haben!

+3

Ich hatte noch nie Probleme damit, WGET mit Perl-Skripten auszustaffieren, um das Herunterladen von Dateien zu automatisieren. Jedoch, mit CURL, finde ich häufig ** Fehler 18 - Übertragung geschlossen mit ausstehenden gelesenen Daten übrig ** (siehe http://stackoverflow.com/questions/1759956/curl-error-18-transfer-closed-with- outstanding- Lese-Daten-übrig). Diesen Fehler erhalte ich meistens, wenn ich versuche, ihn in Perl-Skripten zu benutzen, aber WGET gibt mir nie solche Probleme. Sollte dies nicht berücksichtigt werden? – SexyBeast

+5

Wenn Sie Perl verwenden, sollten Sie wirklich die LWP-Bibliothek (LWP :: Simple) verwenden. Es ist immer einfacher, Antwortcodes zu lesen, funktionale Rückrufe zuzuweisen und Ausnahmen abzufangen, als die Textausgabe eines anderen Prozesses zu analysieren. –

27

Es gibt Überschneidungen in der Funktionalität. Während ein Paket zum Abrufen von Dateien über HTTP/FTP ist, überträgt curl Daten mit einer einzelnen URL. Wie in dem von MarkusQ geteilten Link angemerkt, kann wget rekursiv herunterladen - siehe this comparison article für weitere Details durch den Curl-Autor.

19

cURL ist für die Datenübertragung in beide Richtungen vorgesehen, während wget für das nicht interaktive Herunterladen von Dateien aus einer bestimmten Quelle dient. Es gibt some Überschneidungen in der Funktionalität, aber sie sind not meant genau zu tun the same things.

Es hängt wirklich davon ab, was Sie versuchen zu tun; für einfachere Aufgaben wie das Herunterladen von Dateien wget und cURL sind vergleichbar, aber das kratzt wirklich nur die Oberfläche von beiden Werkzeug.