cURL ist eines der am häufigsten verwendeten Kommandozeilentools für die Datenübertragung im Internet. Es unterstützt zahlreiche Protokolle, darunter HTTP und HTTPS, und wird für Web Scraping, API-Tests und das Debuggen von Netzwerkverbindungen verwendet. Egal, ob Sie Daten von einer öffentlichen Website abrufen oder mit einer API interagieren müssen – cURL ist die Lösung.
Während cURL sich hervorragend für grundlegendes Scraping und Testen eignet, erfordern professionelle Web-Scraping-Projekte oft robustere Lösungen, die Anti-Bot-Maßnahmen und Anfragen mit hohem Volumen bewältigen können. Crawlbase Crawling API bietet unternehmenstaugliche Funktionen, die auf den grundlegenden cURL-Prinzipien aufbauen und zusätzliche Funktionen wie die automatische CAPTCHA-Lösung und JavaScript-Rendering bieten. Bevor wir uns jedoch mit diesen erweiterten Optionen befassen, sollten wir uns zunächst mit den Grundlagen befassen. Jetzt anmelden und 1,000 Anfragen erhalten.
Dieser Beitrag führt Sie durch das Senden GET-Anfragen mit cURL. Wir unterteilen es in einfache Schritte mit Beispielen gängiger Szenarien wie der Übergabe von Parametern, Headern und JSON-Antworten.
Inhaltsverzeichnis
- Was ist eine GET-Anfrage?
- Senden einer einfachen GET-Anfrage mit cURL
- GET-Anfrage mit Parametern
- Abrufen von HTTP-Headern mit GET-Anfragen
- Abrufen von JSON-Daten mit cURL
- Umgang mit Weiterleitungen in cURL GET-Anfragen
- Senden von Cookies mit einer GET-Anfrage
- Übersicht über die cURL GET-Anforderungsoptionen
- Fazit
- Häufig gestellte Fragen (FAQ)
Was ist eine GET-Anfrage?
Eine GET-Anfrage ist die einfachste und am häufigsten verwendete HTTP-Methode, um Daten von einem Server abzurufen. Wenn Sie eine URL in Ihren Browser eingeben und die Eingabetaste drücken, sendet Ihr Browser eine GET Anfrage an den Server, auf dem die Website gehostet wird. Der Server antwortet, indem er die angeforderten Daten wie HTML-Inhalte, Bilder oder JSON-Daten zurücksendet, und Ihr Browser zeigt sie an.
Im Gegensatz zu anderen HTTP-Methoden wie POST, die Daten an einen Server senden, dienen GET-Anfragen nur zum Abrufen von Ressourcen. Dies macht GET-Anfragen perfekt für:
- Abrufen von Webseiten.
- Zugriff auf API-Endpunkte zum Abrufen von Daten.
- Abrufen statischer Ressourcen wie Bilder oder Stylesheets.
Hier ist ein einfaches Beispiel einer GET-Anfrage mit cURL:
1 | curl https://crawlbase.com |
Dieser Befehl ruft das HTML der angegebenen Webseite ab und zeigt es in Ihrem Terminal an.
So senden Sie eine einfache GET-Anfrage mit cURL
Eine GET-Anfrage mit cURL ist die einfachste Möglichkeit, Daten von einem Server abzurufen. cURL verwendet standardmäßig GET, Sie müssen es also nicht angeben.
So können Sie eine einfache GET-Anfrage stellen:
1 | locken http://httpbin.org/get |
Dadurch wird der Inhalt angefordert von https://example.com. Der Server antwortet mit der Ressource, normalerweise HTML oder andere Daten, die in Ihrem Terminal angezeigt werden.
Um die Ausgabe in einer Datei zu speichern, anstatt sie auf dem Terminal auszudrucken, verwenden Sie den -o Option:
1 | curl -o output.html https://example.com |
Wichtige Punkte:
- Nutzen Sie
curlgefolgt von der URL, um eine einfache GET-Anfrage zu stellen. - Fügen Sie
-oFlag, um die Antwort in einer Datei zu speichern.
Dies ist Ihr Ausgangspunkt zum Abrufen von Daten von Websites oder APIs. Jetzt sehen wir uns an, wie GET-Anfragen mit Parametern gesendet werden.
GET-Anfrage mit Parametern
Manchmal müssen Sie in Ihrer GET-Anfrage Parameter übergeben, um dem Server weitere Daten zu übermitteln. Es gibt zwei Möglichkeiten, Parameter zu übergeben:
Verwendung der -G und -d Optionen
Mit der Option -G können Sie Daten mit einer GET-Anfrage senden, und mit der Option -d geben Sie die Parameter an. Hier ist ein Beispiel:
1 | curl -G -d „param1=wert1“ -d „param2=wert2“ http://httpbin.org/get |
In diesem Fall steht: param1=value1 und param2=value2 sind die Parameter, die als Abfragezeichenfolgen an den Server gesendet werden.
Anhängen von Parametern an die URL
Sie können Parameter auch direkt an die URL anhängen. So geht's:
1 | curl 'http://httpbin.org/get?param1=value1¶m2=value2' |
In diesem Fall Parameter param1 und param2 werden der URL nach dem ? und getrennt durch &.
Beide Methoden verarbeiten die Parameter und geben die Daten zurück. Die Wahl liegt bei Ihnen, aber beide führen zum gleichen Ergebnis.
So rufen Sie HTTP-Header mit GET-Anfragen ab
Wenn Sie mit cURL ein GET ausführen, können Sie neben dem Antworttext auch die HTTP-Header abrufen. HTTP-Header sind sehr nützlich, um Informationen über die Antwort, den Servertyp, den Inhaltstyp und mehr zu erhalten.
Um HTTP-Header in die Antwort einzuschließen, verwenden Sie die -i or --include Option:
1 | curl -i http://httpbin.org/headers |
Dieser Befehl gibt sowohl den Hauptteil der Antwort als auch die HTTP-Header zurück. Wenn Sie alternativ nur die Header ohne den Hauptteil möchten, verwenden Sie den --head Option:
1 | Locke --ganzer http://httpbin.org/headers |
Dies ist nützlich, wenn Sie nur Metadaten zur Anfrage und nicht den eigentlichen Inhalt benötigen.
So rufen Sie JSON-Daten mit cURL ab
Um JSON-Daten mit cURL von einem Server abzurufen, können Sie cURL mitteilen, dass Sie die Antwort in JSON wünschen. Dies ist praktisch, wenn Sie mit APIs arbeiten, die Daten in JSON zurückgeben.
Um JSON-Daten anzufordern, verwenden Sie das -H Option zum Festlegen der Accept Kopfzeile zu application/json:
1 | curl-H „Akzeptieren: application/json“ http://httpbin.org/get |
Damit teilen Sie dem Server mit, dass Sie die Antwort im JSON-Format erwarten. Wenn der Server dies unterstützt, erhalten Sie eine Antwort im JSON-Format, die Sie für die weitere Verarbeitung verwenden können.
Sie können cURL auch verwenden, um HTTP-Header zusammen mit den JSON-Daten abzurufen und so die Serverantwort zu analysieren. Durch die Überprüfung der Antwortheader, z. B. des Content-Length-Headers, können Sie die Größe und den Typ der Serverantwort bestimmen. Dies ist hilfreich, um zu verstehen, was der Server zurückgibt, und um Übertragungsaktivitäten zu debuggen oder zu protokollieren.
So behandeln Sie Weiterleitungen in cURL-GET-Anfragen
Wenn Sie GET-Anfragen mit cURL stellen, kann der Server eine Weiterleitung zu einer anderen URL zurückgeben. cURL folgt Weiterleitungen standardmäßig nicht. Um der Weiterleitung zu folgen, verwenden Sie die -L or --location option.
So verwenden Sie es:
1 | curl -L http://httpbin.org/redirect-to?url=http://httpbin.org/get |
Dadurch wird die Weiterleitung befolgt und der Inhalt von der neuen URL abgerufen. Nützlich beim Arbeiten mit Websites oder APIs, die Weiterleitungen senden (Statuscodes 301 oder 302).
So senden Sie Cookies mit einer GET-Anfrage
Einige Websites erfordern, dass Sie Cookies mit Ihrer GET-Anfrage senden, um Sitzungen aufrechtzuerhalten oder Benutzeraktivitäten zu verfolgen. Sie können Cookies mithilfe der -b or --cookie Option in cURL.
So senden Sie Cookies mit einer GET-Anfrage:
1 | curl -b "Benutzername=JohnDoe; Sitzungs-ID=12345" http://httpbin.org/cookies |
In diesem Beispiel werden die Cookies username und sessionId werden zusammen mit der GET-Anfrage gesendet. Sie können Cookies auch aus einer Datei bereitstellen:
1 | curl -b cookies.txt http://httpbin.org/cookies |
Dies ermöglicht Ihnen die Interaktion mit Websites, die Benutzersitzungen, Anmeldungen oder andere Cookie-basierte Daten erfordern.
Übersicht über die cURL GET-Anforderungsoptionen
Hier sind einige wichtige cURL-Optionen, die Sie mit GET-Anfragen verwenden können:

In dieser Tabelle sind die wichtigsten cURL-Optionen zusammengefasst, mit denen Sie GET-Anfragen an Ihre Anforderungen anpassen können.
Nutzung von GET-Anfragen für die Webdatenerfassung
cURL ist ein großartiges Tool zum Senden von GET-Anfragen und Abrufen von Daten von Webservern. Sie können Webinhalte abrufen, Parameter verarbeiten, Cookies verwalten, Weiterleitungen folgen und mit APIs arbeiten. Egal, ob Sie Daten scrapen oder Aufgaben automatisieren, cURL macht es einfach und flexibel.
Sobald Sie die GET-Anfragen und -Optionen von cURL beherrschen, können Sie mit Webressourcen interagieren und die benötigten Daten abrufen. Mit zunehmendem Scraping-Bedarf können jedoch Herausforderungen wie IP-Blockierung, CAPTCHAs und JavaScript-gerenderte Inhalte auftreten, die mit dem einfachen cURL nicht effektiv verarbeitet werden können.
Für diese fortgeschrittenen Szenarien Crawlbase Lösungen bieten Funktionen auf Unternehmensniveau, die auf den in diesem Handbuch behandelten cURL-Grundlagen aufbauen. Hier anmelden um zu erfahren, wie unsere Lösungen Ihre Web-Scraping-Projekte von einfachen Skripten zu produktionsreifen Systemen machen können.
Häufig gestellte Fragen (FAQ)
F: Was ist eine cURL-GET-Anfrage?
Eine cURL-GET-Anfrage dient zum Abrufen von Daten von einem Server. Sie sendet eine HTTP-Anfrage an die angegebene URL und erhält die Antwort des Servers. Diese kann eine Webseite, JSON-Daten oder eine andere Ressource sein. Dies wird für Web Scraping, API-Interaktion und das Testen von Webressourcen verwendet.
F: Wie sende ich Parameter mit einer GET-Anfrage in cURL?
Sie können Parameter in einer GET-Anfrage senden, indem Sie sie entweder an die URL anhängen oder den -G und -d nach.
- Beispiel mit Parametern in der URL:
curl 'http://example.com/data?param1=value1¶m2=value2' - Beispiel mit
-Gund-d:curl -G -d "param1=value1" -d "param2=value2" http://example.com/data
F: Kann ich JSON-Daten mit cURL abrufen?
Ja, Sie können JSON-Daten abrufen, indem Sie Folgendes festlegen: Accept: application/json Header in Ihrer cURL-Anfrage.
Ejemplo:curl -H "Accept: application/json" http://example.com/data
Dies weist den Server an, Daten im JSON-Format zurückzugeben, sofern dieses unterstützt wird.










