So senden Sie POST-Anfragen mit cURL

So senden Sie POST-Anfragen mit cURL

cURL ist ein vielseitiges Befehlszeilenprogramm, das für nahtlose Datenübertragungen über verschiedene Netzwerkprotokolle wie HTTP, HTTPS und FTP entwickelt wurde. cURL ist auf allen wichtigen Betriebssystemen verfügbar und hat sich zum Standardtool für das Senden von HTTP-Anfragen über die Befehlszeile entwickelt. Das plattformübergreifende Dienstprogramm unterstützt Protokolle wie HTTP, HTTPS, FTP und IMAP, sodass das Senden von Anfragen an APIs und das Scraping von Websites ganz einfach ist. Aufgrund seiner breiten Verfügbarkeit und Protokollunterstützung wird cURL in der REST-API-Dokumentation häufig als schnelle Möglichkeit zum Testen von API-Aufrufen direkt über die Befehlszeile erwähnt.

In diesem Tutorial erfahren Sie mehr über die Ausführung von POST-Anfragen mit cURL und können so über einfache Befehlszeilen-Anweisungen eine effiziente Kommunikation mit Servern ermöglichen.

Was ist eine POST-Anfrage?

Eine POST-Anfrage ist eine HTTP-Methode zum Senden von Daten an einen Server und eine der gebräuchlichsten HTTP-Methoden. Im Gegensatz zu GET-Anfragen, bei denen Daten in der URL enthalten sind, übertragen POST-Anfragen Daten im Anfragetext. Dies ermöglicht eine diskrete Datenübertragung und umgeht die von Browsern auf GET-Anfragen auferlegten URL-Längenbeschränkungen.

POST-Anfragen werden häufig für Formularübermittlungen, Datei-Uploads und das Senden von JSON-Daten an APIs verwendet. Da die Daten im Anfragetext gespeichert sind, sind sie im Browserverlauf nicht sichtbar und im Gegensatz zu GET-Anfragen werden POST-Anfragen normalerweise nicht von Browsern zwischengespeichert.

Praktische Anwendungsfälle für cURL POST-Anfragen

cURL-POST-Anfragen werden häufig in verschiedenen Szenarien verwendet, darunter:

  • Testen von REST-APIs – Entwickler verwenden cURL, um API-Endpunkte schnell zu testen, bevor sie sie in Anwendungen implementieren.
  • Automatisieren von Formularübermittlungen – Durch die Verwendung von cURL können Sie Interaktionen mit Webformularen automatisieren und Daten ohne manuelle Eingabe übermitteln.
  • Hochladen von Dateien – Viele APIs ermöglichen das Hochladen von Dateien mithilfe von POST-Anfragen, wodurch cURL ein effektives Tool zur Automatisierung dieses Prozesses ist.
  • Interaktion mit Authentifizierungssystemen – Entwickler können cURL verwenden, um Benutzer zu authentifizieren und mit API-Tokens oder Anmeldeinformationen auf geschützte Ressourcen zuzugreifen.
  • Datenscraping und -integration – Das Extrahieren und Integrieren von Daten aus verschiedenen Online-Quellen wird durch die POST-Anforderungsfunktionen von cURL vereinfacht.

Ausführen einer POST-Anfrage mit cURL

Um cURL für POST-Anfragen zu verwenden, stellen Sie sicher, dass es auf Ihrem System installiert ist. Wenn Sie es noch nicht installiert haben, lesen Sie unsere Anleitung zum Einrichten von cURL. Nachfolgend finden Sie eine Referenztabelle mit einer Zusammenfassung der wichtigsten cURL-Optionen:

Kurze Flagge

Lange Flagge

Argument(e)

Beschreibung

-X

--Anfrage

(verwenden Sie „POST“ für POST-Anfragen)

Definiert die HTTP-Methode für die Anfrage

-B

--Plätzchen

Sendet Cookies in der Anfrage

-C

--Keksglas

Speichert empfangene Cookies in einer Datei

-D

--Daten

Überträgt Daten in einer POST-Anfrage

-F

--scheitern

Stellt einen stillen Ausfall bei Serverfehlern sicher

-F

--bilden

<Name=Inhalt>

Übermittelt Formulardaten (application/x-www-form-urlencoded)

-H

--header

Header/@Datei

Enthält benutzerdefinierte HTTP-Header

-ich

--enthalten

Zeigt HTTP-Header in der Antwort an

-l

--Kopf

Ruft nur Header ab

-k

--unsicher

Umgeht die SSL-Verifizierung

-L

--Standort

Folgt Weiterleitungen (3XX)

-O

--Ausgabe

Speichert die Ausgabe in einer angegebenen Datei

-O

--remote-name

Speichert die Ausgabe unter dem Remote-Dateinamen

-S

--still

Unterdrückt Ausgabemeldungen

-v

--verbose

Ermöglicht detaillierte Ausgaben (Debugging)

-w

--Ausschreiben

Gibt Antwortdetails aus

Um die vollständige Liste der verfügbaren Optionen anzuzeigen, verwenden Sie:

curl --Hilfe

Häufige Fehler und deren Behebung

Obwohl cURL leistungsstark ist, treten beim Senden von POST-Anfragen häufig Fehler auf. Hier sind einige häufige Probleme und Lösungen:

  • curl: (6) Host konnte nicht aufgelöst werden – Dies bedeutet, dass der Domänenname falsch ist oder ein DNS-Auflösungsproblem vorliegt. Überprüfen Sie die URL noch einmal.
  • curl: (7) Verbindung zum Host konnte nicht hergestellt werden – Zeigt an, dass der Server nicht erreichbar ist. Stellen Sie sicher, dass der Server online ist und dass Sie über eine aktive Internetverbindung verfügen.
  • curl: (35) SSL-Verbindungsfehler – Wenn die Anfrage wegen SSL-Problemen fehlschlägt, versuchen Sie, die SSL-Verifizierung mit -k zu umgehen.
  • HTTP 400 Ungültige Anfrage – Dies bedeutet, dass der Server die Anfrage abgelehnt hat, häufig aufgrund eines falschen Datenformats. Überprüfen Sie den Inhaltstyp und die Datennutzlast.
  • HTTP 401 Nicht autorisiert – Tritt auf, wenn eine Authentifizierung erforderlich ist, aber fehlt oder falsch ist. Stellen Sie sicher, dass API-Schlüssel oder Anmeldeinformationen mit -u oder -H „Authorization: Bearer <token>“ korrekt übergeben werden.

Grundlegende POST-Anforderungssyntax

curl -X POST -d "Hallo" https://example.com/api

In diesem Befehl:

  • -X POST gibt den Anforderungstyp an.
  • -d „Hallo“ definiert die zu sendenden Daten.
  • https://example.com/api ist die Ziel-URL.

Festlegen von Content-Type-Headern

curl -X POST -H "Inhaltstyp: text/plain" -d "Hallo" https://example.com/api

Durch Hinzufügen von -H „Content-Type: text/plain“ wird der Server darüber informiert, dass das Datenformat einfacher Text ist.

Senden von JSON-Daten

curl -X POST -H "Inhaltstyp: application/json" -d '{"key":"value"}' https://example.com/api

Die Verwendung von application/json als Inhaltstyp stellt sicher, dass die Daten korrekt als JSON interpretiert werden.

Senden von XML-Daten

curl -X POST -H "Inhaltstyp: application/xml" -d '<?xml version="1.0" encoding="UTF-8"?><root><name>John Doe</name><age>30</age></root>' https://example.com/api

Hochladen von Dateien mit POST

curl -X POST -F "file=@/Pfad/zu/img.png" https://example.com/api/upload

Für das Hochladen mehrerer Dateien:

curl -X POST -F "file=@/Pfad/zu/img1.png" -F "file=@/Pfad/zu/img2.png" https://example.com/api/upload

Authentifizierung mit cURL

curl -u Benutzername:Passwort https://example.com/login

Ersetzen Sie Benutzernamen und Passwort durch die tatsächlichen Anmeldeinformationen.

Abschluss

cURL vereinfacht HTTP-Interaktionen mit seinen leistungsstarken und flexiblen Befehlszeilenoptionen. Durch die Beherrschung von POST-Anfragen können Entwickler API-Kommunikation, Datenübertragungen und Datei-Uploads effizient verwalten. Ob Sie API-Endpunkte testen, Formularübermittlungen automatisieren oder Daten von Websites scrapen müssen, cURL bietet eine leichte und effektive Lösung. Experimentieren Sie weiter mit cURL, um Ihren Workflow zu optimieren!

Bitte beachten Sie, dass Plisio Ihnen auch Folgendes bietet:

Erstellen Sie Krypto-Rechnungen mit 2 Klicks and Akzeptieren Sie Krypto-Spenden

14 Integrationen

10 Bibliotheken für die gängigsten Programmiersprachen

19 Kryptowährungen und 12 Blockchains

Ready to Get Started?

Create an account and start accepting payments – no contracts or KYC required. Or, contact us to design a custom package for your business.

Make first step

Always know what you pay

Integrated per-transaction pricing with no hidden fees

Start your integration

Set up Plisio swiftly in just 10 minutes.