Was ist der Unterschied zwischen wget und curl?

What Is Difference Between Wget Vs Curl



Wir müssen oft Dateien von Remote-Servern auf unseren lokalen Computer herunterladen. Auf einem grafischen Desktop können wir einen GUI-Browser verwenden und auf die Download-Schaltfläche klicken. Auf einem Terminal müssen wir jedoch Tools verwenden, die für das Terminal entwickelt wurden. Beim Herunterladen von Dateien vom Terminal werden oft vier Tools angezeigt: Locken , Schulter , wget , und aria2 . Während axel und aria2 vielleicht nicht bekannt sind, kennen die meisten Terminalbenutzer curl und wget.

In diesem Tutorial werden wir uns curl und wget ansehen, wie man loslegt und vor allem die Unterschiede zwischen ihnen.







Was ist cURL?

cURL ist ein kostenloses Open-Source-Befehlszeilenprogramm, das es Benutzern ermöglicht, Daten mit minimaler oder keiner Benutzerinteraktion von einem Remote-Computer auf einen anderen zu übertragen. Die Verwendung von CURL ist in Geräten wie Routern, Druckern, Telefonen, Tablets, Mediaplayern und mehr weit verbreitet.



Es unterstützt das Herunterladen und Hochladen mit Protokollen wie HTTP/HTTPS, FTP, SFTP, SCP, IMAP, LDAP/LDAPS, SMB/SMBS, TELNET, POP3, GOPHER und vielen mehr.



cURL bietet auch Proxys, Lebenslaufübertragungen, Benutzerauthentifizierung, SSL-Zertifikate und vieles mehr.





Was ist Wget?

GNU Wget, allgemein als wget bezeichnet, ist ein kostenloses Befehlszeilen-Dienstprogramm zum Übertragen von Dateien mit HTTP/HTTPS, FTP und FTPS. Es bietet Funktionen wie rekursive Downloads, Bandbreitenkontrolle, setzt abgebrochene Übertragungen, Hintergrund-Downloads, rekursive Spiegeldateien und Verzeichnisse und vieles mehr fort.

Wie installiere ich cURL und Wget?

cURL und wget sind beliebte Tools, die in den wichtigsten Linux-Distributionen leicht verfügbar sind; Wenn Sie keines der Tools installiert haben, verwenden Sie die folgenden Befehle zur Installation:



Debian/Ubuntu:

# cURL installieren

sudo apt-get installierenLocken

# wget installieren

sudo apt-get installieren wget

Bogen / Manjaro:

# cURL installieren

sudopacman-SLocken

# wget installieren

sudopacman-S wget

REHL/CentOS/Fedora:

# cURL installieren

sudo lecker installierenLocken

sudodnfInstallierenLocken

# wget installieren

sudo lecker installieren wget

sudodnfInstallieren wget

Wie verwende ich cURL und Wget (Beispielanwendungsfälle)?

Um sicherzustellen, dass Sie die Ähnlichkeiten und Unterschiede zwischen cURL und wget verstehen, sollten Sie sich einige Beispiele ansehen:

HTTP/HTTPS-Protokolle:

Sowohl cURL als auch wget unterstützen HTTP- und HTTPS-Protokolle. Wenn wir also eine Website wie linuxhint.com herunterladen:

locken https://linuxhint.com-oderlinuxhint.html

locken https://linuxhint.com-oderlinuxhint.html

%Gesamt%Empfangen%Xferd Durchschnittliche Geschwindigkeit Zeit Zeit Zeit Aktuell

Upload Gesamte verbleibende Geschwindigkeit herunterladen

100256k0256k0 0166k0-: -: -0:00:01 --:--:-- 166k

Standardmäßig druckt cURL den Inhalt der Webressource im Terminal. Wir verwenden das Flag -o, um die Ausgabe in eine Datei umzuleiten.

Für wget gilt:

wgethttps://linuxhint.com

--2021-06-2005:09:Vier fünf- https://linuxhint.com/

Auflösen von linuxhint.com(linuxhint.com)... 104.21.58.234, 172.67.209.252,2606:4700:3033::6815:3aea, ...

Verbindung zu linuxhint.com(linuxhint.com)|104.21.58.234|:443... in Verbindung gebracht.

HTTP-Anfrage gesendet, wartet auf Antwort...200OK

Länge: nicht angegeben[Text/html]

Speichern unter: ‚index.html‘

index.html

[ <=> ]256,25K 506KB/Sin0,5s

2021-06-zwanzig05:09:46 (506KB/S)- ‘index.html’ gespeichert[262396]

Wget hingegen speichert die angeforderte Ressource in einer Datei.

Es ist gut zu beachten, dass beide Tools die Ressource herunterladen. Die ls-Details der beiden Dateien zeigen beide Dateigrößen.

$ls -dasindex.html linuxhint.html

-rw-rw-r-- 1linuxhint linuxhint262396Juni19 fünfzehn:fünfzigindex.html

-rw-rw-r-- 1linuxhint linuxhint262396Junizwanzig05:07 linuxhint.html

FTP-Protokoll:

Sowohl cURL als auch wget unterstützen Downloads über FTP-Protokolle. cURL unterstützt jedoch das Hochladen auf FTP.

Verwenden Sie den folgenden Befehl, um Dateien mit wget vom FTP-Server herunterzuladen:

wget --Benutzer= debian--Passwort=’debian’ ftp://192.168.0.112/backup.zst

wget --Benutzer= debian--Passwort='debian'ftp://192.168.0.112/backup.zst

--2021-06-2005:29: 06--ftp://192.168.0.112/backup.zst

=>'backup.zst'

Verbindung zu 192.168.0.112:einundzwanzig... in Verbindung gebracht.

Protokollierungin wiedebian ... Eingeloggtin!

==>SYST ... fertig. ==>PWD ... fertig.

==>TYP I ... fertig. ==>CWD nicht erforderlich.

==>SIZE backup.zst ... fertig.

==>PASV ... fertig. ==>RETR backup.zst ... fertig.

backup.zst

[ <=> ] 0--.- KB/Sin0s

2021-06-zwanzig05:29: 06(0,00B/S)- ‘backup.zst’ gespeichert[0]

Fügen Sie mit curl die hinzu-uFlagge als:

Locken-udebian:debian’ftp://192.168.0.112/backup.zst’-oderbackup.zst

Locken-udebian: debian'ftp://192.168.0.112/backup.zst' -oderbackup.zst

%Gesamt%Empfangen%Xferd Durchschnittliche Geschwindigkeit Zeit Zeit Zeit Aktuell

Upload Gesamte verbleibende Geschwindigkeit herunterladen

0 0 0 0 0 0 0 0-: -: - -: -: - -: -: -0

Zum HochladenDateizuftpmit curl verwenden wir die-TWahlmöglichkeit als:

Locken-udebian: debian-Tbackup1.zst-ftp://192.168.0.112/ftp/

Stellen Sie sicher, dass das Verzeichnis vorhanden ist und der Benutzer über Schreibberechtigungen dafür verfügt.

HINWEIS: Obwohl cURL eine Vielzahl von Protokollen unterstützt, bietet es keine rekursiven Downloads. Auf der anderen Seite unterstützt Wget rekursive Downloads mit der Option –recursive, da sowohl HTTP/HTTPS- als auch FTP/FTPS-Protokolle eine solche Funktionalität bieten.

Ähnlichkeiten zwischen wget und cURL

Nun zum i-Tüpfelchen:

  • Beide Tools unterstützen Standardprotokolle wie HTTP, HTTPS, FTP, FTPS.
  • Beide Tools laden Dateien aus dem Internet herunter.
  • Beide Tools unterstützen HTTP-Cookies.
  • Beide Tools unterstützen die Ausgabe in eine Datei.
  • Sowohl kostenlose als auch aktiv entwickelte Tools.
  • Beide Tools unterstützen die Übertragung von Lebensläufen.
  • Beide Tools unterstützen HTTP POST.

Unterschiede zwischen wget und cURL

Hier sind einige der Unterschiede zwischen curl und wget:

  • Wget ist ein einfaches Übertragungsdienstprogramm, während curl so viel mehr bietet.
  • Curl stellt die Bibliothek libcurl bereit, die zu GUI-Anwendungen erweitert werden kann. Wget hingegen ist ein einfaches Befehlszeilen-Dienstprogramm.
  • Wget unterstützt im Vergleich zu cURL weniger Protokolle.
  • Rekursive Downloads werden in curl nicht unterstützt.
  • Wget ist in Linux-Systemen nativ verfügbar, während cURL in Windows-Systemen leicht verfügbar ist.
  • cURL unterstützt mehrere parallele Übertragungen.
  • cURL führt transfercodierte HTTP-Dekomprimierungen durch, wget dies nicht.
  • cURL unterstützt bidirektionales HTTP, während wget einen einfachen HTTP-POST bietet.
  • cURL unterstützt im Vergleich zu wget mehr HTTP-Authentifizierungsmethoden.
  • Wget unterstützt keine SOCKS.
  • Wget erfordert die Installation von Gnulib.
  • Im Gegensatz zu curl sind in wget Funktionen wie Cookies, Zeitstempel und Weiterleitungen standardmäßig aktiviert. cURL erfordert, dass jede explizit angegeben wird.

Abschluss

Dieses Tutorial konzentrierte sich auf die Ähnlichkeiten und Unterschiede zwischen cURL. Obwohl cURL die bessere Wahl ist, gibt es Fälle, in denen wget die beste Wahl ist.

Mein Rat an Sie ist, zu wählen, was für Sie funktioniert.