10 cURL-Befehlsverwendung mit Echtzeit-Beispiel (2024)

cURL ist ein Befehlszeilentool zum Abrufen oder Senden von Daten mit Hilfe der URL-Syntax.

Wenn Sie als Entwickler oder im Support arbeiten, müssen Sie die Verwendung von cURL-Befehlen kennen, um Fehler in Webanwendungen zu beheben. cURL ist ein plattformübergreifendes Dienstprogramm, d.h. Sie können es unter Windows, MAC und UNIX verwenden.

Im Folgenden finden Sie einige der am häufigsten verwendeten Syntaxen mit einem Beispiel, das Ihnen helfen soll.

Überprüfen Sie, ob Sie eine Verbindung zur URL herstellen können

Wenn Sie auf einem UNIX-System arbeiten und versuchen, eine Verbindung zu einer externen URL herzustellen, sollten Sie zunächst überprüfen, ob Sie über curl auf die URL zugreifen können.

curl yoururl.com

Es wird keine Ausgabe geworfen. Wenn der Server jedoch keine Verbindung herstellen kann, erhalten Sie Fehlermeldungen wie could not resolve the host.

[root@gf-lab tmp]# curl helloitdoesntexist.comcurl: (6) Konnte den Host nicht auflösen: helloitdoesntexist.com; Unbekannter Fehler[root@gf-lab tmp]#

URL/URI-Ausgabe in Datei speichern

Wenn Sie den Inhalt der URL oder URI in einer bestimmten Datei speichern müssen, können Sie die folgende Syntax verwenden

curl https://yoururl.com > ihreurl.html

ex:

[root@gf-lab tmp]# curl https://gf.dev > /tmp/gfhtml % Total % Received % Xferd Durchschnittliche Geschwindigkeit Zeit Zeit Zeit Aktuell Dload Upload Total Verbraucht Linke Geschwindigkeit100 18557 0 18557 0 0 72565 0 --:--:-- --:--:-- --:--:-- 72772[root@gf-lab tmp]#

Das obige Beispiel speichert den gesamten Inhalt von gf.dev nach /tmp/gf.html

Anfrage- und Antwort-Header anzeigen

Wenn Sie Probleme haben und überprüfen möchten, ob Sie den erwarteten Request- und Response-Header erhalten.

curl -v yoururl.com

Bsp:

[root@gf-lab tmp]# curl -v https://geekflare.com/de* Verbindung() zu geekflare.com/de Port 443 (#0)* Versucht 104.25.134.107...* Verbunden mit geekflare.com/de (104.25.134.107) Port 443 (#0)* Initialisierung von NSS mit certpath: sql:/etc/pki/nssdb* CA-Datei: /etc/pki/tls/certs/ca-bundle.crt CA-Pfad: keine* SSL-Verbindung mit TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256* Server-Zertifikat:* betreff: CN=ssl371609.cloudflaressl.com,OU=PositiveSSL Multi-Domain,OU=Domain Control Validated* startdatum: Nov 07 00:00:00 2019 GMT* ablaufdatum: May 15 23:59:59 2020 GMT* gemeinsamer Name: ssl371609.cloudflaressl.com* aussteller: CN=COMODO ECC Domain Validation Secure Server CA 2,O=COMODO CA Limited,L=Salford,ST=Greater Manchester,C=GB> GET / HTTP/1.1> Benutzer-Agent: curl/7.29.0> Gastgeber: geekflare.com/de> Akzeptieren: */*> < HTTP/1.1 200 OK< Datum: Sat, 09 Nov 2019 19:41:37 GMT< Inhalt-Typ: text/html; charset=UTF-8< Transfer-Encoding: chunked< Verbindung: keep-alive< Set-Cookie: __cfduid=d2ce6cd359ebc0b6eb5ff3a454ed042021573328497; expires=Sun, 08-Nov-20 19:41:37 GMT; path=/; domain=.geekflare.com/de; HttpOnly; Secure< Vary: Accept-Encoding< Link: <https://geekflare.com/de/wp-json/>; rel="https://api.w.org/"< Link: <https://geekflare.com/de/>; rel=shortlink< X-SRCache-Fetch-Status: HIT< X-SRCache-Store-Status: BYPASS< X-Frame-Options: SAMEORIGIN< X-Powered-By: EasyEngine v4.0.12< Via: 1.1 google< CF-Cache-Status: DYNAMIC< Strict-Transport-Security: max-age=15552000; preload< X-Content-Type-Options: nosniff< Alt-Svc: h3-23=":443"; ma=86400< Expect-CT: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"< Server: cloudflare< CF-RAY: 533243e4bcd4bbf4-LHR<

Download mit begrenzter Rate

Wenn Sie an der Optimierung arbeiten und sehen möchten, wie viel Zeit der Download bei einer bestimmten Geschwindigkeit benötigt, können Sie:-

curl --limit-rate 2000B

Beispiel:

curl --limit-rate 2000B https://gf.dev

Verwenden eines Proxys für die Verbindung

Sehr praktisch, wenn Sie auf einem DMZ-Server arbeiten und sich über einen Proxy mit der Außenwelt verbinden müssen.

curl --proxy ihrproxy:port https://yoururl.com

Test-URL mit eingefügtem Header

Sie können curl verwenden, indem Sie einen Header mit Ihren Daten einfügen, um ein bestimmtes Problem zu testen oder zu beheben. Sehen wir uns das folgende Beispiel für eine Anfrage mit Content-Type an.

curl --header 'Content-Type: application/json' http://yoururl.com

Damit fordern Sie curl auf, den Content-Type als application/json im Header der Anfrage zu übergeben.

Nur Antwort-Header anzeigen

Wenn Sie eine Fehlersuche durchführen und schnell den Antwort-Header überprüfen möchten, können Sie die folgende Syntax verwenden.

curl --head http://yoururl.com

Beispiel:

[root@gf-lab tmp]# curl --head https://chandan.ioHTTP/1.1 200 OKDate: Sat, 09 Nov 2019 19:51:23 GMTInhalt-Typ: text/htmlVerbindung: keep-aliveSet-Cookie: __cfduid=d3cb2c7b8e566ad99c870b0af12b0f1eb1573329083; expires=Sun, 08-Nov-20 19:51:23 GMT; path=/; domain=.chandan.io; HttpOnlyX-GUploader-UploadID: AEnB2Uo96JhvJmR2zYUL-Ndh2ta3UD_ykQAB5C7O8cjZQhCf-GxHQ0MsodSzRnl3guSN3ywAYNjtWcPXfwDXjLg3bQ-P5vQMOALäuft ab: Sat, 09 Nov 2019 20:51:23 GMTCache-Kontrolle: öffentlich, max-age=3600Last-Modified: Mon, 06 Aug 2018 10:45:47 GMTx-goog-generation: 1533552347482034x-goog-metageneration: 1x-goog-stored-content-encoding: Identitätx-goog-stored-content-length: 24620x-goog-hash: crc32c=DpDPAQ==x-goog-hash: md5=cIP/3rusdUx12Zla1kf1yA==x-goog-storage-class: MULTI_REGIONALAccept-Ranges: bytesCF-Cache-Status: DYNAMICExpect-CT: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"Server: cloudflareCF-RAY: 53325234dc2fbb9a-LHR[root@gf-lab tmp]#

Verbinden Sie die HTTPS/SSL-URL und ignorieren Sie jeden SSL-Zertifikatsfehler

Wenn Sie versuchen, auf eine mit einem SSL/TLS-Zertifikat gesicherte URL zuzugreifen und diese das falsche Zertifikat hat oder der CN nicht übereinstimmt, erhalten Sie folgende Fehlermeldung.

curl: (51) Sichere Kommunikation mit der Gegenstelle nicht möglich: Der angeforderte Domainname stimmt nicht mit dem Zertifikat des Servers überein.

Die gute Nachricht: Sie können cURL anweisen, den Zertifikatsfehler mit dem Flag --insecure zu ignorieren.

curl --unsicher https://yoururl.com

Verbindung über ein bestimmtes Protokoll herstellen (SSL/TLS)

Sehr praktisch, um zu testen, ob eine bestimmte URL über ein bestimmtes SSL/TLS-Protokoll verbunden werden kann.

Um eine Verbindung über SSL v3 herzustellen

curl --sslv3 https://yoururl.com

und für verschiedene TLS-Versionen

curl --tlsv1 https://example.comcurl --tlsv1.0 https://example.comcurl --tlsv1.1 https://example.comcurl --tlsv1.2 https://example.comcurl --tlsv1.3 https://example.com

Datei von einem FTP-Server herunterladen

Sie können curl auch zum Herunterladen der Datei verwenden, indem Sie Ihren Benutzernamen und Ihr Passwort angeben.

curl -u benutzer:passwort -O ftp://ftpurl/style.css

Sie können immer“-v” mit jeder Syntax verwenden, um im ausführlichen Modus zu drucken.

Host-Header verwenden

Der Host-Header ist nützlich, um die Ziel-URL über IP zu testen, wenn der angeforderte Inhalt nur verfügbar ist, wenn der Host-Header übereinstimmt. Oder wenn Sie die Anwendung unter Verwendung der Load Balancer IP/URL testen möchten.

curl --header 'Host: targetapplication.com' https://192.0.0.1:8080/

Wie wäre es, cURL online zu verwenden?

Ja, das ist mit den folgenden Tools möglich. Sie können cURL aus der Ferne ausführen.

Online CURL – ein leichtgewichtiges Tool, um die URL online abzurufen und die Möglichkeit, die folgenden Optionen hinzuzufügen.

--Verbindungszeitüberschreitung--cookie--data--Header--kopf--location--max-time--proxy--request--user--url--benutzer-agent
 

cURL-Befehlszeilen-Builder – dieser ist anders. Er hilft Ihnen bei der Erstellung des cURL-Befehls, in den Sie in einer schönen Benutzeroberfläche Informationen eingeben können, und am Ende erhalten Sie den cURL-Befehl.

10 cURL-Befehlsverwendung mit Echtzeit-Beispiel (1)

cURL ist ein nützliches Dienstprogramm für die Fehlersuche bei Echtzeit-Verbindungsproblemen und ich hoffe, dass Ihnen die obigen Ausführungen helfen. Wenn Sie mehr lernen möchten, empfehle ich Ihnen den Online-Kurs Linux Command Line Basics.

10 cURL-Befehlsverwendung mit Echtzeit-Beispiel (2024)

References

Top Articles
Latest Posts
Recommended Articles
Article information

Author: Twana Towne Ret

Last Updated:

Views: 6047

Rating: 4.3 / 5 (44 voted)

Reviews: 91% of readers found this page helpful

Author information

Name: Twana Towne Ret

Birthday: 1994-03-19

Address: Apt. 990 97439 Corwin Motorway, Port Eliseoburgh, NM 99144-2618

Phone: +5958753152963

Job: National Specialist

Hobby: Kayaking, Photography, Skydiving, Embroidery, Leather crafting, Orienteering, Cooking

Introduction: My name is Twana Towne Ret, I am a famous, talented, joyous, perfect, powerful, inquisitive, lovely person who loves writing and wants to share my knowledge and understanding with you.