GNU/Linux >> Linux Esercitazione >  >> Linux

Utilizzo di Curl per effettuare richieste API REST

Un'API (Application Program Interface) è un insieme di definizioni e protocolli che consentono ai programmi software di comunicare tra loro.

Il termine REST sta per trasferimento di stato rappresentativo. È uno stile architettonico che consiste in un insieme di vincoli da utilizzare durante la creazione di servizi web.

L'API RESTful è un'API che segue l'architettura REST. In genere le API REST utilizzano il protocollo HTTP per l'invio e il recupero di dati e risposte in formato JSON. Puoi utilizzare i metodi HTTP standard per creare, visualizzare, aggiornare o eliminare risorse tramite l'API.

Per testare e interagire con le API RESTful, puoi utilizzare qualsiasi libreria o strumento in grado di effettuare richieste HTTP.

Le richieste API sono composte da quattro parti diverse:

  • L'endpoint. Questo è l'URL che il client utilizza per comunicare con il server.
  • Il metodo HTTP. Dice al server quale azione il client vuole eseguire. I metodi più comuni sono GET POST PUT DELETE e PATCH
  • Le intestazioni. Utilizzato per trasferire informazioni aggiuntive tra il server e il client, come l'autorizzazione.
  • Il corpo. I dati inviati al server.

In questo articolo parleremo di come usare curl per interagire con le API RESTful. curl è un'utilità della riga di comando per il trasferimento di dati da o verso un server remoto. È installato per impostazione predefinita su macOS e sulla maggior parte delle distribuzioni Linux.

Opzioni arricciatura #

La sintassi per il curl il comando è il seguente:

curl [options] [URL...]

Ecco le opzioni che utilizzeremo quando effettueremo richieste:

  • -X , --request - Il metodo HTTP da utilizzare.
  • -i , --include - Includi le intestazioni delle risposte.
  • -d , --data - I dati da inviare.
  • -H , --header - Intestazione aggiuntiva da inviare.

HTTP GET #

Il metodo GET richiede una specifica risorsa dal server.

GET è il metodo predefinito quando si effettuano richieste HTTP con curl . Ecco un esempio di richiesta GET alla JSONPlaceholderAPI per una rappresentazione JSON di tutti i post:

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

Per filtrare i risultati usa i parametri della query:

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

POST HTTP #

Il metodo POST viene utilizzato per creare una risorsa sul server. Se la risorsa esiste, viene sovrascritta.

Il comando seguente effettua una richiesta POST utilizzando i dati specificati con -d opzione:

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

Il tipo del corpo della richiesta viene specificato utilizzando Content-Type intestazione. Per impostazione predefinita, quando a questa intestazione non viene assegnato curl utilizza Content-Type: application/x-www-form-urlencoded .

Per inviare un dato in formato JSON, imposta il tipo di corpo su 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 #

Il metodo PUT viene utilizzato per aggiornare o sostituire una risorsa sul server. Sostituisce tutti i dati della risorsa specificata con i dati della richiesta.

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

PATCH HTTP #

Il metodo PUT viene utilizzato per effettuare aggiornamenti parziali alla risorsa sul server.

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

ELIMINA HTTP #

Il metodo DELETE rimuove la risorsa specificata dal server.

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

Autenticazione #

Se l'endpoint API richiede l'autenticazione, dovrai ottenere una chiave di accesso. In caso contrario, il server API risponderà con il messaggio di risposta "Accesso vietato" o "Non autorizzato".

Il processo per ottenere una chiave di accesso dipende dall'API che stai utilizzando. Una volta ottenuto il token di accesso, puoi inviarlo nell'intestazione:

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

Conclusione #

Ti abbiamo mostrato come usare curl per effettuare richieste API di prova. Per ulteriori informazioni su curl , visita la pagina della documentazione sui ricci.

Se hai domande o feedback, sentiti libero di lasciare un commento.


Linux
  1. Utilizzo di mod_cluster in Apache

  2. Controllo dello stato di salute della pagina Web utilizzando Curl?

  3. Utilizzo di WGET per eseguire un cronjob PHP

  4. Utilizzo di curl per inviare e-mail

  5. Utilizzo del certificato client nel comando Curl

Come creare un server CS:GO su VPS Linux

Come effettuare una richiesta POST con cURL

Rendi bello il tuo guscio di pesce usando Oh My Fish

Intercetta le richieste HTTP su Linux

Come analizzare le intestazioni HTTP usando Bash?

Ubuntu:utilizzo di curl per scaricare un'immagine