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
- BigCommerce
- Ecwid
- Magento
- Opencart
- osCommerce
- PrestaShop
- VirtueMart
- WHMCS
- WooCommerce
- X-Cart
- Zen Cart
- Easy Digital Downloads
- ShopWare
- Botble
10 Bibliotheken für die gängigsten Programmiersprachen
- PHP Bibliothek
- Python Bibliothek
- React Bibliothek
- Vue Bibliothek
- NodeJS Bibliothek
- Android sdk Bibliothek
- C#
- Ruby
- Java
- Kotlin
19 Kryptowährungen und 12 Blockchains
- Bitcoin (BTC)
- Ethereum (ETH)
- Ethereum Classic (ETC)
- Tron (TRX)
- Litecoin (LTC)
- Dash (DASH)
- DogeCoin (DOGE)
- Zcash (ZEC)
- Bitcoin Cash (BCH)
- Tether (USDT) ERC20 and TRX20 and BEP-20
- Shiba INU (SHIB) ERC-20
- BitTorrent (BTT) TRC-20
- Binance Coin(BNB) BEP-20
- Binance USD (BUSD) BEP-20
- USD Coin (USDC) ERC-20
- TrueUSD (TUSD) ERC-20
- Monero (XMR)