Geekflare wird von unserem Publikum unterstützt. Wir können Affiliate-Provisionen durch den Kauf von Links auf dieser Website verdienen.
Teilen:

10 Verwendung von cURL-Befehlen mit Echtzeitbeispiel

curl-Befehl
Invicti Web Application Security Scanner – die einzige Lösung, die eine automatische Verifizierung von Schwachstellen mit Proof-Based Scanning™ bietet.

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 zu 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.

Verify if you can connect to the URL

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.

curl yoururl.com

Es wird keine Ausgabe geworfen. Wenn der Server jedoch keine Verbindung herstellen kann, werden Fehler angezeigt, die den Host nicht auflösen konnten.

[root@gf-lab tmp]# curl helloitdoesntexist.com
curl: (6) Could not resolve host: helloitdoesntexist.com; Unknown error
[root@gf-lab tmp]#

Save URL/URI output to file

Wenn Sie die speichern müssen URL oder URI Inhalte in eine bestimmte Datei, können Sie die folgende Syntax verwenden

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

ex:

[root@gf-lab tmp]# curl https://gf.dev > /tmp/gfhtml
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 18557    0 18557    0     0  72565      0 --:--:-- --:--:-- --:--:-- 72772
[root@gf-lab tmp]#

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

Show request and response header

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

curl -v yoururl.com

Ex:

[root@gf-lab tmp]# curl -v https://geekflare.com
* About to connect() to geekflare.com port 443 (#0)
*   Trying 104.25.134.107...
* Connected to geekflare.com (104.25.134.107) port 443 (#0)
* Initializing NSS with certpath: sql:/etc/pki/nssdb
*   CAfile: /etc/pki/tls/certs/ca-bundle.crt
  CApath: none
* SSL connection using TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
* Server certificate:
* 	subject: CN=ssl371609.cloudflaressl.com,OU=PositiveSSL Multi-Domain,OU=Domain Control Validated
* 	start date: Nov 07 00:00:00 2019 GMT
* 	expire date: May 15 23:59:59 2020 GMT
* 	common name: ssl371609.cloudflaressl.com
* 	issuer: CN=COMODO ECC Domain Validation Secure Server CA 2,O=COMODO CA Limited,L=Salford,ST=Greater Manchester,C=GB
> GET / HTTP/1.1
> User-Agent: curl/7.29.0
> Host: geekflare.com
> Accept: */*
> 
< HTTP/1.1 200 OK
< Date: Sat, 09 Nov 2019 19:41:37 GMT
< Content-Type: text/html; charset=UTF-8
< Transfer-Encoding: chunked
< Connection: keep-alive
< Set-Cookie: __cfduid=d2ce6cd359ebc0b6eb5ff3a454ed042021573328497; expires=Sun, 08-Nov-20 19:41:37 GMT; path=/; domain=.geekflare.com; HttpOnly; Secure
< Vary: Accept-Encoding
< Link: <https://geekflare.com/wp-json/>; rel="https://api.w.org/"
< Link: <https://geekflare.com/>; 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 at a limit rate

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

Using a proxy to connect

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 with injecting 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 es mit Content-Type anzufordern.

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

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

Display only response header

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:

[root@gf-lab tmp]# curl --head https://chandan.io
HTTP/1.1 200 OK
Date: Sat, 09 Nov 2019 19:51:23 GMT
Content-Type: text/html
Connection: keep-alive
Set-Cookie: __cfduid=d3cb2c7b8e566ad99c870b0af12b0f1eb1573329083; expires=Sun, 08-Nov-20 19:51:23 GMT; path=/; domain=.chandan.io; HttpOnly
X-GUploader-UploadID: AEnB2Uo96JhvJmR2zYUL-Ndh2ta3UD_ykQAB5C7O8cjZQhCf-GxHQ0MsodSzRnl3guSN3ywAYNjtWcPXfwDXjLg3bQ-P5vQMOA
Expires: Sat, 09 Nov 2019 20:51:23 GMT
Cache-Control: public, max-age=3600
Last-Modified: Mon, 06 Aug 2018 10:45:47 GMT
x-goog-generation: 1533552347482034
x-goog-metageneration: 1
x-goog-stored-content-encoding: identity
x-goog-stored-content-length: 24620
x-goog-hash: crc32c=DpDPAQ==
x-goog-hash: md5=cIP/3rusdUx12Zla1kf1yA==
x-goog-storage-class: MULTI_REGIONAL
Accept-Ranges: bytes
CF-Cache-Status: DYNAMIC
Expect-CT: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
Server: cloudflare
CF-RAY: 53325234dc2fbb9a-LHR

[root@gf-lab tmp]#

Connect HTTPS/SSL URL and ignore any SSL certificate error

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

curl: (51) Unable to communicate securely with peer: requested domain name does not match the server's certificate.

Gute Nachrichten, Sie können cURL anweisen, den Zertifizierungsfehler mit zu ignorieren --insecure Flagge.

curl --insecure https://yoururl.com

Connect using a specific protocol (SSL/TLS)

Sehr praktisch, um zu testen, ob eine bestimmte URL ein bestimmtes SSL/TLS-Protokoll handshaken 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

Download file from FTP Server

Sie können die Datei auch mit curl herunterladen, indem Sie Ihren Benutzernamen und Ihr Passwort angeben.

curl -u user:password -O ftp://ftpurl/style.css

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

Using Host Header

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, um die URL online abzurufen und die Möglichkeit, die folgenden Optionen hinzuzufügen.

--connect-timeout
--cookie
--data
--header
--head
--location
--max-time
--proxy
--request
--user
--url
--user-agent
 

cURL-Befehlszeilen-Builder - 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.

Danke an unsere Sponsoren
Weitere großartige Lektüre zu Linux
Treiben Sie Ihr Geschäft an
Einige der Tools und Dienste, die Ihr Unternehmen beim Wachstum unterstützen.
  • Invicti verwendet das Proof-Based Scanning™, um die identifizierten Schwachstellen automatisch zu verifizieren und innerhalb weniger Stunden umsetzbare Ergebnisse zu generieren.
    Versuchen Sie es mit Invicti
  • Web-Scraping, Wohn-Proxy, Proxy-Manager, Web-Unlocker, Suchmaschinen-Crawler und alles, was Sie zum Sammeln von Webdaten benötigen.
    Versuchen Sie es mit Brightdata
  • Semrush ist eine All-in-One-Lösung für digitales Marketing mit mehr als 50 Tools in den Bereichen SEO, Social Media und Content-Marketing.
    Versuchen Sie es mit Semrush
  • Intruder ist ein Online-Schwachstellenscanner, der Cyber-Sicherheitslücken in Ihrer Infrastruktur findet, um kostspielige Datenschutzverletzungen zu vermeiden.
    MIT DER INTELLIGENTEN SCHADENKALKULATION VON Intruder