curl ist ein leistungsstarkes Befehlszeilenprogramm zur Kommunikation mit einem Webserver über das Terminal. Oft wird es mit dem beliebten Befehl wget verwechselt, da beide Inhalte auf einen Server hochladen und herunterladen können und plattformübergreifend arbeiten. Um die Dinge zu klären, sind hier die Unterschiede zwischen wget und curl und einige beliebte Curl-Befehle, die Sie kennen sollten, um zu beginnen.
Curl vs Wget
An der Oberfläche können sowohl Curl als auch Wget als Dienstprogramm angesehen werden, das Inhalte von den Webservern anfordern und herunterladen kann. Wenn Sie jedoch tief graben, gibt es viel zu enträtseln. curl unterstützt viel mehr Protokolle von HTTPS, SFTP bis IMAP, POP3 usw., während wget nur HTTP, HTTPS und FTP unterstützt.
Ein weiterer wichtiger Unterschied besteht darin, dass wget rekursives Herunterladen unterstützt, Curl jedoch nicht. Wget lädt also alles von der Webseite auf Seiten herunter, mit denen es verknüpft ist, während Curl dies nicht tut. Andererseits basiert curl auf der libcurl-Bibliothek, die APIs bereitstellt. Daher kann es sowohl in Befehlszeilenskripten als auch in GUI-basierten Apps problemlos verwendet werden. Sie können sich Curl als einen abgespeckten Befehlszeilen-Webbrowser vorstellen, der Inhalte von einem Webserver hochladen und herunterladen kann.
Locken einbauen Windows
curl ist auf Unix-basierten oder Unix-ähnlichen Betriebssystemen vorinstalliert und kann daher direkt unter macOS verwendet werden. Es kann jedoch auch auf Nicht-Unix-Systemen wie Windows mit Hilfe einer „libcurl“ -Bibliothek verwendet werden.
Unter Windows müssen wir lediglich die libcurl-Zip-Datei herunterladen und einige Änderungen vornehmen, um sie über die Eingabeaufforderung verwenden zu können. Laden Sie zunächst die libcurl-Zip-Datei für Ihr Windows 32-Bit oder 64-Bit entsprechend herunter. Nachdem Sie die Datei heruntergeladen haben, extrahieren Sie den Inhalt in einen Ordner. Für den Kontext ist das Folgende ein Screenshot des extrahierten Inhalts des libcurl-Ordners.
Gehen Sie im extrahierten Ordner zum Behälter Ordner und kopieren Sie die folgenden Dateien - "Curl.exe" und "curl-ca-bundle".
Erstellen Sie einen Ordner mit dem Namen "curl" im Laufwerk "C:" und fügen Sie beide kopierten Dateien ein. Anschließend können Sie den Befehl curl direkt verwenden, wenn Sie in der Eingabeaufforderung zum Ordner „C: \ curl“ navigieren.
Wenn Sie curl direkt vom cmd ausführen möchten, würde ich alternativ empfehlen, eine Umgebungsvariable zu erstellen. Gehen Sie dazu zum Startmenü und geben Sie „Bearbeiten Sie die Systemumgebungsvariablen”Und klicken Sie auf die erste Suche.
Klicken Sie im Popup-Fenster Systemeigenschaften unten auf die Schaltfläche Umgebungsvariablen.
Klicken Sie im Bildschirm Umgebungsvariable in der oberen Hälfte auf die Schaltfläche Neu, um eine Benutzerumgebungsvariable hinzuzufügen.
Fügen Sie im neuen Bildschirm "Benutzervariable" den folgenden Eintrag hinzu. Veröffentlichen Sie dies, klicken Sie auf OK und dann auf Übernehmen, um die Änderungen zu speichern.
Variablenname: curl Variablenwert: C: \ curl
Wenn Sie fertig sind, klicken Sie im Menü Umgebungsvariable auf OK, um die Änderungen zu speichern. Wenn Sie dies posten, sollten Sie den Befehl curl direkt an der Eingabeaufforderung verwenden können. Geben Sie zum Testen den folgenden Befehl ein
Curl - Version
Alternativ können Sie auch Aktivieren Sie WSL für Windows und verwenden Sie die Ubuntu-Bash-Shell, um Curl-Befehle von Bash unter Windows auszuführen.
Beste Curl-Befehle und deren Verwendung
Bevor wir mit den Befehlen beginnen, beachten Sie, dass einfache Anführungszeichen in der Windows-Befehlszeile nicht funktionieren. Sie müssten sie in doppelte Anführungszeichen umwandeln. Für die Bash-Shell würde es auch mit den einfachen Anführungszeichen wie gewohnt funktionieren.
1. Durchsuchen Sie den HTML-Code
Das grundlegendste Hilfsprogramm von Curl ist das Durchsuchen des HTML-Codes einer Webseite. Fügen Sie dazu den Befehl curl der Web-URL der Webseite hinzu.
Curl https://example.com
Dieser Befehl zeigt die Ausgabe am Terminal an. Sie können den Inhalt der Datei auch herunterladen, indem Sie vor der URL den Schalter „-O“ angeben. Dadurch wird die Datei auf Ihrem System unter demselben Remote-Dateinamen gespeichert. Wenn der HTML-Dateiname auf dem Server beispielsweise "home.html" lautet, wird er auch lokal als "home.html" gespeichert.
curl -O http://example.com/home.html
Alternativ können Sie die Daten mit benutzerdefinierten Dateinamen speichern. Fügen Sie dazu den Befehl mit einem kleineren Fall "-o" gefolgt vom Dateinamen hinzu.
curl http://example.com/home.html -o sample-file.txt
Sie können auch mehrere Dateien herunterladen, indem Sie mehrere URLs für entfernte Dateien angeben.
2. Herunterladen von Dateien mit Curl
Ähnlich wie bei wget können Sie Dateien mit curl herunterladen. Sie können den Schalter -o verwenden und den Dateinamen angeben. Andernfalls wird die Datei unter dem Namen der Remote-Datei gespeichert.
curl -O http://example.com/linux.iso
Mit dem folgenden Befehl wird beispielsweise die neueste Version von Linux Mint vom Webserver heruntergeladen.
curl -O http://mirrors.gigenet.com/linuxmint/iso/stable/19.2/linuxmint-19.2-cinnamon-64bit.iso
Sie können auch "- #" oder "–progress-bar" verwenden, um den Fortschritt in Form von Hashes anzuzeigen.
3. Fortsetzen des fehlgeschlagenen Downloads
Wenn der Download unterbrochen wird, können Sie mit dem Schalter „-C -“ fortfahren. Der Befehl sieht wie folgt aus.
curl -C http://example.com/linux.iso
Mit dem folgenden Befehl wird beispielsweise der Download vom letzten fehlgeschlagenen Punkt fortgesetzt.
curl -C - -O http://mirrors.gigenet.com/linuxmint/iso/stable/19.2/linuxmint-19.2-cinnamon-64bit.iso
4. IP-Informationen
Mit dem folgenden Befehl curl können Sie alle Netzwerkinformationen zu einem Computer abrufen
locken ipinfo.io
Wenn Sie die IP-Adresse kennen und andere Details wie Standortkoordinaten, Stadt, Zeitzone usw. wünschen, können Sie alternativ die folgende Variation des Befehls verwenden.
curl ipinfo.io/14.141.173.170
5. E-Mails senden
Da Curl das SMTP- und POP3-Protokoll unterstützt, können Sie damit sogar E-Mails senden. Unten finden Sie ein Beispiel für das Senden einer E-Mail über Google Mail.
Ersetzen Sie die E-Mail-Adresse und das Passwort im folgenden Befehl entsprechend.
curl --url "smtps: //smtp.gmail.com: 587" --ssl-reqd --mail-from "[email protected]" --mail-rcpt "[email protected]" --upload- Datei "C: \ mail.txt" --user "[email protected]: Passwort"
Stellen Sie sicher, dass Sie den Zugriff für weniger sichere Apps für das Google-Konto aktivieren
6. Wörterbuch
Das von libcurl bereitgestellte Diktierprotokoll kann verwendet werden, um die Bedeutung eines Wortes leicht zu finden. Die Quelle der Bedeutung ist WordNet. Unten finden Sie den Befehl, dasselbe zu tun.
curl dict: //dict.org/d: englisches Wort
7. POST-Befehle
Sie können POST-Anforderungen mithilfe eines Curl-Befehls an einen Webserver senden. Die Syntax lautet wie folgt
curl -X POST -F "Name = Benutzername" -F "Passwort = Passwort" http://www.example.com
Die POST-Formulardaten können auch in Form einer JSON-Datei gesendet werden. Verwenden Sie dazu den folgenden Befehl.
curl -H "Inhaltstyp: application / json" https://www.example.com
8. Dateien konvertieren
Da curl mehrteilige Formulardaten unterstützt, können Sie damit Dateien hochladen und sogar sofort konvertieren. Zum Beispiel möchte ich diese HTML-Datei in eine PDF konvertieren lassen. Daher werde ich dazu die Docverter-API verwenden. Die Docverter-API unterstützt mehrere Dateiformate aus HTML, Markdown und kann diese in Docx, PDF, ePub usw. konvertieren.
Alternativ können Sie auch die Google Drive API v3 verwenden, um Excel-Tabellen, Dokumente usw. zu konvertieren.
curl "http://c.docverter.com/convert" -F von = html -F nach = pdf -F Eingabedateien [] = @ Ihr-Dateiname -o "Ausgabedateiname.pdf"
Schlussworte
Curl wird hauptsächlich in Programmen zum Teilen von Daten, Dateien und Formularen verwendet. Neben dem oben genannten Befehl gibt es verschiedene andere APIs, Kombinationen oder Shell-Skripte, mit denen Sie Curl verwenden können. Weitere Informationen hierzu finden Sie in den GitHub-Repos oder im Stack Overflow. Wenn Sie weitere Probleme oder Fragen zu einem Curl-Befehl haben, lassen Sie es mich in den Kommentaren unten wissen.
Lesen Sie auch: 14 Best Learn to Code Apps (Android & iOS)