GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Was ist der Unterschied zwischen Curl und Wget?

curl und Wget sind die beiden gängigsten Dienstprogramme, um über die Linux-Befehlszeile Anfragen an Server zu stellen.

Wenn Sie jemals zwischen den beiden wechseln, einer nur Ihre Neugier weckt oder Sie gerade eine gute alte Diskussion darüber online gesehen haben, gibt es einige Unterschiede, die hilfreich sein könnten, um sie zu kennen.

Auch wenn Sie hoffentlich mit beiden eine reibungslose Erfahrung machen werden, hilft Ihnen die Kenntnis der grundlegenden Unterschiede zwischen den beiden dabei, die Verwendung beider besser zu verstehen (und hoffentlich alle Fragen aus den oben genannten Diskussionen zu lösen).

Hauptunterschied zwischen curl und Wget:Wie die Ausgabe gespeichert wird

Der sichtbarste Unterschied zwischen curl und Wget besteht darin, dass Wget standardmäßig die abgefragte Webseite im System speichert, während curl sie in der Terminalausgabe anzeigt, aber nicht speichert.

Beginnen wir mit einem einfachen Beispiel für eine Anfrage an die Homepage von Arch Linux, https://archlinux.org .

Wir stellen die Anfrage zuerst mit curl.

curl 'https://archlinux.org'

Beachten Sie, wie der curl-Befehl den Rohinhalt der Webseite ausgibt? Es ist, als ob Sie in einem Webbrowser auf die Schaltfläche Quelle anzeigen geklickt hätten.

Versuchen wir, dieselbe Website mit Wget abzurufen:

wget 'https://archlinux.org'

Sehen Sie sich das an, Wget hat den Inhalt der Webseite nicht wie Curl angezeigt. Aber wenn Wget es nicht gezeigt hat, wo hat es hat es gesagt?

Hier kommt der erste Hauptunterschied zwischen den beiden Programmen ins Spiel.

Standardmäßig legt Wget den Inhalt der Website in einer Datei namens index.html ab :

Sie können dann den tatsächlichen Inhalt der Datei sehen, indem Sie cat index.html ausführen , was die gleiche Ausgabe erzeugen würde, die Sie mit curl gesehen haben Befehl:

Wenn Sie die Datei mit curl speichern möchten, müssen Sie das -o verwenden Möglichkeit:

curl -o <output_file> <web_URL>

Weitere bemerkenswerte Unterschiede

Abgesehen davon ist das eigentlich so ziemlich der einzige Unterschied, den Sie wahrscheinlich bemerken werden, wenn Sie curl und Wget verwenden. Es gibt jedoch noch ein paar andere, die von Interesse sein könnten, aber sie werden Ihre Nutzung der beiden Tools als Endbenutzer wahrscheinlich nicht allzu sehr beeinträchtigen, wenn überhaupt.

Unterstützung

curl wird viel häufiger verwendet als Wget und wird in Umgebungen wie Mobiltelefonen, Ihrem Computer (einschließlich Betriebssystemen wie Windows und macOS) und sogar Internet-of-Things-Geräten wie Smartwatches, intelligenten Kühlschränken und anderen ähnlichen Artikeln verwendet. P>

Entwicklernutzung

Dieser nächste Teil betrifft hauptsächlich Entwickler. Curl verfügt über Bibliotheken zur Unterstützung von Netzwerkanforderungen in Programmiersprachen wie C, während wget auch eine reine Befehlszeile ist und nicht sehr gut funktioniert, wenn Sie von einer Programmiersprache aus damit interagieren müssen.

Ein Teil davon geht auf den vorherigen Grund zurück und trägt dazu bei, warum Curl in verschiedenen Umgebungen und Geräten weit verbreitet ist.

Abschluss

Und das war's! Hoffentlich haben Sie jetzt gesehen, dass die Unterschiede zwischen den beiden viel geringer sind, als manche vermuten.

Wenn Sie sich jedoch jemals für ein Tool langfristig entscheiden, würde ich curl auf jeden Fall empfehlen, da ich es in meinen eigenen Projekten verwende und es einfach viel häufiger verwendet wird als Wget.

Willst du einen umfassenderen Überblick zwischen den beiden? Sehen Sie sich den Artikel curl vs. Wget von Daniel Stenberg (Erfinder von curl) an, der auf eine Reihe fortgeschrittener Dinge eingeht, die sich zwischen den beiden Tools unterscheiden.


Linux
  1. Was ist der Unterschied zwischen Redhat und CentOS?

  2. Was ist der Unterschied zwischen insmod und modprobe

  3. Was ist der Unterschied zwischen NPTL- und POSIX-Threads?

  4. Was ist der Unterschied zwischen strtok_r und strtok_s in C?

  5. Was ist der Unterschied zwischen ls und l?

Was ist der Unterschied zwischen Linux und Unix?

Was ist der Unterschied zwischen Login- und Non-Login-Shell

Was ist der Unterschied zwischen apt und dem Befehl apt-get?

Der Unterschied zwischen [[ $a ==Z* ]] und [ $a ==Z* ]?

Was ist der Unterschied zwischen Git Switch und Checkout?

Was ist ein Hypervisor? Was ist der Unterschied zwischen Typ 1 und 2?