curl ist ein Befehlszeilentool zum Übertragen von Daten zu oder von einem Server unter Verwendung eines der unterstützten Protokolle (HTTP, FTP, IMAP, POP3, SCP, SFTP, SMTP, TFTP, TELNET, LDAP oder FILE). curl wird von Libcurl betrieben. Dieses Tool wird für die Automatisierung bevorzugt, da es so konzipiert ist, dass es ohne Benutzerinteraktion funktioniert. curl kann mehrere Dateien gleichzeitig übertragen.

Syntax:

curl [options] [URL...]

URL : Die grundlegendste Verwendung von curl besteht darin, den Befehl gefolgt von der URL einzugeben.

curl https://www.geeksforgeeks.org

Dadurch sollte der Inhalt der URL auf dem Endgerät angezeigt werden. Die URL-Syntax ist protokollabhängig und mehrere URLs können als Sätze geschrieben werden wie:

curl http://site.{one, two, three}.com

URLs mit numerischen Sequenzen können wie folgt geschrieben werden:

curl ftp://ftp.example.com/file[1-20].jpeg

Fortschrittsanzeige: curl zeigt während der Verwendung eine Fortschrittsanzeige an, um die Übertragungsrate, die übertragene Datenmenge, die verbleibende Zeit usw. anzuzeigen.

curl -# -o ftp://ftp.example.com/file.zip
curl --silent ftp://ftp.example.com/file.zip

Wenn Sie einen Fortschrittsbalken anstelle eines Zählers mögen, können Sie die Option -# wie im obigen Beispiel oder –silent verwenden , wenn Sie sie vollständig deaktivieren möchten.

Beispiel:

Optionen:

  • -o : speichert die heruntergeladene Datei auf dem lokalen Rechner mit dem in den Parametern angegebenen Namen.

    Syntax:

    curl -o [Dateiname] [URL...]
    

    Beispiel:

    curl -o hallo.zip ftp://speedtest.tele2.net/1MB.zip
    

    Ausgabe:



    Das obige Beispiel lädt die Datei vom FTP-Server herunter und speichert sie unter dem Namen hello.zip .

  • -O : Diese Option lädt die Datei herunter und speichert sie unter demselben Namen wie in der URL.

    Syntax:

    curl -O [URL...]
    

    Beispiel:

    curl -O ftp://speedtest.tele2.net/1MB.zip

    Ausgabe:

  • -C – : Diese Option setzt den Download fort, der aus irgendeinem Grund gestoppt wurde. Dies ist nützlich, wenn das Herunterladen großer Dateien unterbrochen wurde.

    Syntax:

    curl -C - [URL...]
    

    Beispiel:

    curl -C - -O ftp://speedtest.tele2.net/1MB.zip

  • –limit-rate : Diese Option begrenzt die Obergrenze der Datenübertragungsrate und hält sie um den angegebenen Wert in Bytes.

    Syntax:

    curl --limit-rate [Wert] [URL]
    

    Beispiel:

    curl --limit-rate 1000K -O ftp://speedtest.tele2.net/1MB.zip
    

    Ausgabe:



    Der Befehl begrenzt den Download auf 1000 KB.

  • -u : curl bietet auch Optionen zum Herunterladen von Dateien von benutzerauthentifizierten FTP-Servern.

    Syntax:

    curl -u {Benutzername}:{Passwort} [FTP_URL]
    

    Beispiel:

    curl -u demo:password -O ftp://test.rebex.net/readme.txt

    Beispiel:

  • -T : Diese Option hilft beim Hochladen einer Datei auf den FTP-Server.

    Syntax:

    curl -u {Benutzername}:{Passwort} -T {Dateiname} {FTP_Location}
    

    Wenn Sie eine bereits vorhandene FTP-Datei anhängen möchten, können Sie die Option -a oder –append verwenden .

  • –libcurl : Diese Option ist aus Entwicklersicht sehr nützlich. Wenn diese Option an einen beliebigen cURL-Befehl angehängt wird, gibt sie den C-Quellcode aus, der libcurl für die angegebene Option verwendet. Es ist der Code ähnlich der Befehlszeilenimplementierung.

    Syntax:

    curl [URL...] --libcurl [Dateiname]
    

    Beispiel:

    curl https://www.geeksforgeeks.org > log.html --libcurl code.c
    

    Ausgabe:

    Das obige Beispiel lädt den HTML-Code herunter und speichert ihn in log.html und den Code in der Datei code.c. Der nächste Befehl zeigt die ersten 30 Zeilen des Codes.

  • -x, –proxy : curl lässt uns auch einen Proxy verwenden, um auf die URL zuzugreifen.

    Syntax:

    curl -x [proxy_name]:[port] [URL...]
    

    Wenn der Proxy eine Authentifizierung erfordert, kann er mit dem folgenden Befehl verwendet werden:

    curl -u [Benutzer]:[Passwort] -x [Proxyname]:[Port] [URL...]
    
  • E- Mail senden : Da curl Daten über verschiedene Protokolle übertragen kann, einschließlich SMTP, können wir curl verwenden, um E-Mails zu senden.

    Syntax:

    curl –url [SMTP URL] –mail-from [sender_mail] –mail-rcpt [receiver_mail] -n –ssl-reqd -u {email}:{password} -T [Mail text file]

  • DICT-Protokoll: Die Libcurl definiert das DICT-Protokoll, das verwendet werden kann, um die Definition oder Bedeutung eines beliebigen Wortes direkt von der Befehlszeile abzurufen.

    Syntax:

    curl [Protokoll:[Wörterbuch-URL]:[Wort]
    

    Beispiel:

    curl dict://dict.org/d:root
    

    Ausgabe:

Hinweis: Es gibt eine Reihe weiterer Optionen, die von cURL bereitgestellt werden und auf der Manpage überprüft werden können. Die Libcurl-Bibliothek wurde in verschiedene Programmiersprachen portiert. Es ist ratsam, zur Dokumentation die einzelnen Projektstandorte zu besuchen.