11 Verwendung von cURL-Befehlen mit Echtzeitbeispiel

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


Wenn Sie als Entwickler oder in der Support-Funktion arbeiten, müssen Sie sich dessen bewusst sein Verwendung des cURL-Befehls zur Fehlerbehebung bei Webanwendungen. cURL ist ein plattformübergreifendes Dienstprogramm, das Sie unter Windows, MAC und UNIX verwenden können.

Im Folgenden finden Sie einige der am häufigsten verwendeten Syntaxen. Ein Beispiel soll Ihnen dabei helfen.

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

Wenn Sie auf einem UNIX-System arbeiten und versuchen, die externe URL zu verbinden, müssen Sie zunächst prüfen, ob Sie über Curl auf die URL zugreifen können.

locken Sie yoururl.com

Es wird keine Ausgabe geworfen. Wenn der Server jedoch keine Verbindung herstellen kann, wird eine Fehlermeldung angezeigt, die den Host nicht auflösen konnte.

[[E-Mail geschützt] tmp] # curl helloitdoesntexist.com
curl: (6) Host konnte nicht aufgelöst werden: helloitdoesntexist.com; Unbekannter Fehler
[[E-Mail geschützt] tmp] #

Speichern Sie die URL / URI-Ausgabe in einer Datei

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

locken https://yoururl.com > yoururl.html

Ex:

[[E-Mail geschützt] tmp] # curl https://gf.dev > / tmp / gfhtml
% Gesamt% Erhalten% Xferd Durchschnittliche Geschwindigkeit Zeit Zeit Zeit Aktuell
Dload Upload Gesamtgeschwindigkeit links verbraucht
100 18557 0 18557 0 0 72565 0 -: -: – -: -: – -: -: – 72772
[[E-Mail geschützt] tmp] #

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

Anforderungs- und Antwortheader anzeigen

Wenn Sie Probleme haben und validieren möchten, erhalten Sie den erwarteten Anforderungs- und Antwortheader.

curl -v yoururl.com

Ex:

[[E-Mail geschützt] tmp] # curl -v https://geekflare.com
* Über die Verbindung () mit geekflare.com Port 443 (# 0)
* Versuch 104.25.134.107…
* Verbunden mit geekflare.com (104.25.134.107) Port 443 (# 0)
* Initialisierung von NSS mit certpath: sql: / etc / pki / nssdb
* CAfile: /etc/pki/tls/certs/ca-bundle.crt
CApath: keine
* SSL-Verbindung mit TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
* Serverzertifikat:
* Betreff: CN = ssl371609.cloudflaressl.com, OU = PositiveSSL Multi-Domain, OU = Domain Control Validated
* Startdatum: 07. November 00:00:00 2019 GMT
* Ablaufdatum: 15. Mai 23:59:59 2020 GMT
* gebräuchlicher Name: ssl371609.cloudflaressl.com
* Aussteller: CN = COMODO ECC-Domänenvalidierung Sicherer Server CA 2, O = COMODO CA Limited, L = Salford, ST = Greater Manchester, C = GB
> GET / HTTP / 1.1
> User-Agent: curl / 7.29.0
> Gastgeber: geekflare.com
> Akzeptieren: */*
>
< HTTP / 1.1 200 OK
< Datum: Sa, 09. November 2019, 19:41:37 GMT
< Inhaltstyp: text / html; Zeichensatz = UTF-8
< Übertragungscodierung: Chunked
< Verbindung: am Leben bleiben
< Set-Cookie: __cfduid = d2ce6cd359ebc0b6eb5ff3a454ed042021573328497; läuft ab = So, 08-Nov-20 19:41:37 GMT; Pfad = /; domain = .geekflare.com; HttpOnly; Sichern
< Variieren: Akzeptieren-Codierung
< Verknüpfung: ; rel ="https://api.w.org/"
< Verknüpfung: ; rel = Shortlink
< X-SRCache-Fetch-Status: HIT
< X-SRCache-Store-Status: BYPASS
< X-Frame-Optionen: SAMEORIGIN
< X-Powered-By: EasyEngine v4.0.12
< Via: 1.1 google
< CF-Cache-Status: DYNAMISCH
< Strikte Transportsicherheit: maximales Alter = 15552000; Vorspannung
< X-Content-Type-Optionen: 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 einer Grenzrate

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

Curl-Limit-Rate 2000B

Ex:

Curl-Limit-Rate 2000B https://gf.dev

Verwenden eines Proxys zum Herstellen einer Verbindung

Sehr praktisch, wenn Sie auf dem DMZ-Server arbeiten, auf dem Sie über einen Proxy eine Verbindung zur Außenwelt herstellen müssen.

curl –proxy yourproxy: port https://yoururl.com

Test-URL mit injizierendem Header

Sie können Curl verwenden, indem Sie einen Header mit Ihren Daten einfügen, um das jeweilige Problem zu testen oder zu beheben. Sehen wir uns das folgende Beispiel an, um mit Content-Type anzufordern.

curl –header ‘Inhaltstyp: application / json’ http://yoururl.com

Wenn Sie oben vorgehen, fordern Sie curl auf, Content-Type als application / json im Anforderungsheader zu übergeben.

Nur Antwortheader anzeigen

Wenn Sie eine Fehlerbehebung durchführen und den Antwortheader schnell überprüfen möchten, können Sie die folgende Syntax verwenden.

curl –head http://yoururl.com

Ex:

[[E-Mail geschützt] tmp] # curl –head https://chandan.io
HTTP / 1.1 200 OK
Datum: Sa, 09. November 2019, 19:51:23 GMT
Inhaltstyp: Text / HTML
Verbindung: am Leben bleiben
Set-Cookie: __cfduid = d3cb2c7b8e566ad99c870b0af12b0f1eb1573329083; läuft ab = So, 08-Nov-20 19:51:23 GMT; Pfad = /; domain = .chandan.io; HttpOnly
X-GUploader-UploadID: AEnB2Uo96JhvJmR2zYUL-Ndh2ta3UD_ykQAB5C7O8cjZQhCf-GxHQ0MsodSzRnl3guSN3ywAYNjtWcPXfwDXjLg3bQ -5
Läuft ab: Sa, 09. November 2019 20:51:23 GMT
Cache-Kontrolle: öffentlich, maximales Alter = 3600
Letzte Änderung: Mo, 06. August 2018, 10:45:47 GMT
X-Goog-Generation: 1533552347482034
x-goog-Metageneration: 1
x-goog-gespeicherte-inhaltskodierung: identität
Länge des x-goog-gespeicherten Inhalts: 24620
x-goog-hash: crc32c = DpDPAQ ==
x-goog-hash: md5 = cIP / 3rusdUx12Zla1kf1yA ==
x-goog-storage-class: MULTI_REGIONAL
Accept-Ranges: Bytes
CF-Cache-Status: DYNAMISCH
Expect-CT: max-age = 604800, report-uri ="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
Server: Cloudflare
CF-RAY: 53325234dc2fbb9a-LHR

[[E-Mail geschützt] tmp] #

Verbinden Sie die HTTPS / SSL-URL und ignorieren Sie alle SSL-Zertifikatfehler

Wenn Sie versuchen, auf eine mit SSL / TLS-Zertifikaten gesicherte URL zuzugreifen, und wenn diese mit dem falschen Zertifikat oder CN übereinstimmt, wird die folgende Fehlermeldung angezeigt.

curl: (51) Keine sichere Kommunikation mit Peer: Der angeforderte Domänenname stimmt nicht mit dem Serverzertifikat überein.

Gute Nachrichten, Sie können cURL anweisen, den Zertifizierungsfehler mit dem Flag –insecure zu ignorieren.

locken – unsicher https://yoururl.com

Stellen Sie eine Verbindung mit einem bestimmten Protokoll (SSL / TLS) her.

Sehr praktisch, um zu testen, ob eine bestimmte URL über ein bestimmtes SSL / TLS-Protokoll einen Handshake durchführen kann.

So stellen Sie eine Verbindung mit SSL v3 her

curl –sslv3 https://yoururl.com

und für verschiedene TLS-Versionen

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

Datei vom FTP-Server herunterladen

Sie können die Datei auch mit curl herunterladen, indem Sie den Benutzernamen und das Kennwort angeben.

curl -u Benutzer: Passwort -O ftp: //ftpurl/style.css

Sie können immer verwenden “-v”Mit einer beliebigen Syntax, die im ausführlichen Modus gedruckt werden soll.

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 mit Load Balancer IP / URL testen möchten.

curl –header ‘Host: targetapplication.com’ https://192.0.0.1:8080/

Wie wäre es mit cURL online?

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

Online CURL – ein leichtes Tool zum Abrufen der URL online und die Möglichkeit, die folgenden Optionen hinzuzufügen.

–Verbindungs ​​Timeout
–Plätzchen
–Daten
–Header
–Kopf
–Standort
–maximale Zeit
–Proxy
–Anfrage
–Benutzer
–URL
–User-Agent

cURL-Befehlszeilengenerator – Dieser ist anders. Es hilft Ihnen, den Befehl curl zu erstellen, mit dem Sie Informationen in eine schöne Benutzeroberfläche eingeben können. Unten erhalten Sie den Befehl cURL.

Curl-Builder

cURL ist ein nützliches Dienstprogramm zur Behebung eines Echtzeit-Konnektivitätsproblems, und ich hoffe, dass Ihnen das oben Genannte hilft. Wenn Sie mehr erfahren möchten, würde ich empfehlen Grundlagen der Linux-Befehlszeile Online Kurs.

STICHWORTE:

  • Linux

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map