GNU/Linux >> Tutoriels Linux >  >> Linux

Utilisation de Curl pour effectuer des requêtes API REST

Une interface de programme d'application (API) est un ensemble de définitions et de protocoles qui permet aux programmes logiciels de communiquer entre eux.

Le terme REST signifie transfert d'état représentatif. C'est un style architectural qui consiste en un ensemble de contraintes à utiliser lors de la création de services Web.

L'API RESTful est une API qui suit l'architecture REST. Généralement, les API REST utilisent le protocole HTTP pour envoyer et récupérer des données et des réponses au format JSON. Vous pouvez utiliser les méthodes HTTP standard pour créer, afficher, mettre à jour ou supprimer des ressources via l'API.

Pour tester et interagir avec les API RESTful, vous pouvez utiliser n'importe quelle bibliothèque ou outil capable de faire des requêtes HTTP.

Les requêtes API sont composées de quatre parties différentes :

  • Le point de terminaison. Il s'agit de l'URL que le client utilise pour communiquer avec le serveur.
  • La méthode HTTP. Il indique au serveur quelle action le client veut effectuer. Les méthodes les plus courantes sont GET POST PUT DELETE et PATCH
  • Les en-têtes. Utilisé pour transmettre des informations supplémentaires entre le serveur et le client, telles que l'autorisation.
  • Le corps. Les données envoyées au serveur.

Dans cet article, nous allons discuter de l'utilisation de curl pour interagir avec les API RESTful. curl est un utilitaire de ligne de commande pour transférer des données depuis ou vers un serveur distant. Il est installé par défaut sur macOS et la plupart des distributions Linux.

Options de boucles #

La syntaxe du curl commande est la suivante :

curl [options] [URL...]

Voici les options que nous utiliserons lors des demandes :

  • -X , --request - La méthode HTTP à utiliser.
  • -i , --include - Inclure les en-têtes de réponse.
  • -d , --data - Les données à envoyer.
  • -H , --header - En-tête supplémentaire à envoyer.

HTTP GET #

La méthode GET demande une ressource spécifique au serveur.

GET est la méthode par défaut lors des requêtes HTTP avec curl . Voici un exemple d'envoi d'une requête GET à l'API JSONPlaceholder vers une représentation JSON de tous les articles :

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

Pour filtrer les résultats, utilisez les paramètres de requête :

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

HTTP POST #

La méthode POST est utilisée pour créer une ressource sur le serveur. Si la ressource existe, elle est remplacée.

La commande suivante effectue une requête POST en utilisant les données spécifiées avec le -d choix :

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

Le type du corps de la requête est spécifié à l'aide du Content-Type entête. Par défaut lorsque cet en-tête n'est pas donné curl utilise Content-Type: application/x-www-form-urlencoded .

Pour envoyer des données au format JSON, définissez le type de corps sur 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 #

La méthode PUT est utilisée pour mettre à jour ou remplacer une ressource sur le serveur. Il remplace toutes les données de la ressource spécifiée par les données de la demande.

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

PATCH HTTP #

La méthode PUT est utilisée pour effectuer des mises à jour partielles de la ressource sur le serveur.

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

SUPPRIMER HTTP #

La méthode DELETE supprime la ressource spécifiée du serveur.

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

Numéro d'authentification

Si le point de terminaison de l'API nécessite une authentification, vous devrez obtenir une clé d'accès. Sinon, le serveur API répondra avec le message de réponse "Accès interdit" ou "Non autorisé".

Le processus d'obtention d'une clé d'accès dépend de l'API que vous utilisez. Une fois que vous avez votre jeton d'accès, vous pouvez l'envoyer dans l'en-tête :

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

Conclusion #

Nous vous avons montré comment utiliser curl pour effectuer des requêtes d'API de test. Pour plus d'informations sur curl , visitez la page de documentation Curl.

Si vous avez des questions ou des commentaires, n'hésitez pas à laisser un commentaire.


Linux
  1. Utilisation de mod_cluster dans Apache

  2. Automatiser les requêtes Web à l'aide de Curl ?

  3. Bilan de santé de la page Web à l'aide de Curl ?

  4. effectuer des requêtes HTTP avec cURL (en utilisant PROXY)

  5. Faire une requête https en utilisant des sockets sous Linux

Comment créer un serveur CS:GO sur un VPS Linux

Comment faire une requête POST avec cURL

Rendez votre coquille de poisson magnifique avec Oh My Fish

Intercepter les requêtes HTTP sur Linux

Ubuntu :Utiliser curl pour télécharger une image

Utiliser un index pour accélérer grep ?