GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Verwenden von Curl zum Erstellen von REST-API-Anforderungen

Eine Anwendungsprogrammschnittstelle (API) ist ein Satz von Definitionen und Protokollen, die es Softwareprogrammen ermöglichen, miteinander zu kommunizieren.

Der Begriff REST steht für Representational State Transfer. Es ist ein Architekturstil, der aus einer Reihe von Einschränkungen besteht, die beim Erstellen von Webdiensten verwendet werden.

RESTful API ist eine API, die der REST-Architektur folgt. Typischerweise verwenden REST-APIs das HTTP-Protokoll zum Senden und Abrufen von Daten und Antworten im JSON-Format. Sie können die Standard-HTTP-Methoden verwenden, um Ressourcen über die API zu erstellen, anzuzeigen, zu aktualisieren oder zu löschen.

Zum Testen und Interagieren mit den RESTful-APIs können Sie jede Bibliothek oder jedes Tool verwenden, das HTTP-Anfragen stellen kann.

API-Anforderungen bestehen aus vier verschiedenen Teilen:

  • Der Endpunkt. Dies ist die URL, die der Client verwendet, um mit dem Server zu kommunizieren.
  • Die HTTP-Methode. Es teilt dem Server mit, welche Aktion der Client ausführen möchte. Die gebräuchlichsten Methoden sind GET POST PUT DELETE und PATCH
  • Die Überschriften. Wird verwendet, um zusätzliche Informationen zwischen dem Server und dem Client zu übertragen, z. B. Autorisierung.
  • Der Körper. Die an den Server gesendeten Daten.

In diesem Artikel besprechen wir die Verwendung von curl um mit RESTful-APIs zu interagieren. curl ist ein Befehlszeilendienstprogramm zum Übertragen von Daten von oder zu einem Remote-Server. Es wird standardmäßig auf macOS und den meisten Linux-Distributionen installiert.

Curl-Optionen #

Die Syntax für curl Befehl lautet wie folgt:

curl [options] [URL...]

Hier sind die Optionen, die wir verwenden, wenn wir Anfragen stellen:

  • -X , --request - Die zu verwendende HTTP-Methode.
  • -i , --include - Schließen Sie die Antwortheader ein.
  • -d , --data - Die zu sendenden Daten.
  • -H , --header - Zusätzlicher zu sendender Header.

HTTP GET #

Die GET-Methode fordert eine bestimmte Ressource vom Server an.

GET ist die Standardmethode, wenn HTTP-Anfragen mit curl gestellt werden . Hier ist ein Beispiel für eine GET-Anforderung an die JSONPlaceholderAPI für eine JSON-Darstellung aller Beiträge:

curl https://jsonplaceholder.typicode.com/posts

Verwenden Sie Abfrageparameter, um die Ergebnisse zu filtern:

curl https://jsonplaceholder.typicode.com/posts?userId=1

HTTP POST #

Die POST-Methode wird verwendet, um eine Ressource auf dem Server zu erstellen. Wenn die Ressource vorhanden ist, wird sie überschrieben.

Der folgende Befehl erstellt eine POST-Anforderung unter Verwendung der mit -d angegebenen Daten Möglichkeit:

curl -X POST -d "userId=5&title=Hello World&body=Post body." https://jsonplaceholder.typicode.com/posts

Der Typ des Request-Body wird mit dem Content-Type angegeben Header. Standardmäßig, wenn diesem Header kein curl gegeben wird verwendet Content-Type: application/x-www-form-urlencoded .

Um einen JSON-formatierten Datensatz zu senden, setzen Sie den Texttyp auf application/json :

curl -X POST -H "Content-Type: application/json" \    -d '{"userId": 5, "title": "Hello World", "body": "Post body."}' \    https://jsonplaceholder.typicode.com/posts

HTTP-PUT-Nummer

Die PUT-Methode wird verwendet, um eine Ressource auf dem Server zu aktualisieren oder zu ersetzen. Es ersetzt alle Daten der angegebenen Ressource durch die Anfragedaten.

curl -X PUT -d "userId=5&title=Hello World&body=Post body." https://jsonplaceholder.typicode.com/posts/5

HTTP-PATCH #

Die PUT-Methode wird verwendet, um Teilaktualisierungen an der Ressource auf dem Server vorzunehmen.

curl -X PUT -d "title=Hello Universe" https://jsonplaceholder.typicode.com/posts/5

HTTP LÖSCHEN #

Die DELETE-Methode entfernt die angegebene Ressource vom Server.

curl -X DELETE https://jsonplaceholder.typicode.com/posts/5

Authentifizierungsnummer

Wenn der API-Endpunkt eine Authentifizierung erfordert, müssen Sie einen Zugriffsschlüssel anfordern. Andernfalls antwortet der API-Server mit der Antwortnachricht „Zugriff verboten“ oder „Nicht autorisiert“.

Der Prozess zum Abrufen eines Zugriffsschlüssels hängt von der von Ihnen verwendeten API ab. Sobald Sie Ihr Zugriffstoken haben, können Sie es im Header senden:

curl -X GET -H "Authorization: Bearer {ACCESS_TOKEN}" "https://api.server.io/posts"

Schlussfolgerung #

Wir haben Ihnen gezeigt, wie Sie curl verwenden Test-API-Anfragen zu stellen. Weitere Informationen zu curl , besuchen Sie die Curl-Dokumentationsseite.

Wenn Sie Fragen oder Feedback haben, können Sie gerne einen Kommentar hinterlassen.


Linux
  1. Automatisieren von Webanfragen mit Curl?

  2. Integritätsprüfung der Webseite mit Curl?

  3. Verwendung der Ausgabe vorheriger Befehle in Bash

  4. Durchführen von HTTP-Anforderungen mit cURL (unter Verwendung von PROXY)

  5. Machen Sie eine https-Anfrage mit Sockets unter Linux

So erstellen Sie einen CS:GO-Server auf einem Linux-VPS

Was ist ein cURL-Befehl und wie wird er verwendet?

So stellen Sie eine POST-Anfrage mit cURL

Machen Sie Ihre Fischschale schön mit Oh My Fish

HTTP-Anfragen unter Linux abfangen

Verwenden des Client-Zertifikats im Curl-Befehl