Introduzione
cURL è un'utilità della riga di comando per il trasferimento di dati da o verso un server remoto utilizzando uno dei protocolli supportati. È installato di default su macOS e sulla maggior parte delle distribuzioni Linux.
cURL viene utilizzato dagli sviluppatori per testare le API, visualizzare le intestazioni di risposta ed effettuare richieste HTTP.
In questo articolo, spiegheremo come utilizzare cURL per effettuare richieste POST. Il metodo HTTP POST viene utilizzato per inviare dati al server remoto.
Effettuare una richiesta POST
La forma generale del comando curl
per effettuare una richiesta POST è la seguente:
curl -X POST [options] [URL]
L'opzione -X
specifica quale metodo di richiesta HTTP verrà utilizzato durante la comunicazione con il server remoto.
Il tipo di corpo della richiesta è indicato dall'intestazione Content-Type.
Generalmente, una richiesta POST viene inviata tramite un modulo HTML. I dati inviati al form sono generalmente codificati in multipart/form-data
o application/x-www-form-urlencoded
.
Per creare una richiesta POST, utilizzare l'opzione -F
, seguita dalla coppia field=value
. L'esempio seguente mostra come effettuare una richiesta POST a un modulo con campi "name" ed "email":
curl -X POST -F 'name=noviello' -F '[email protected]' https://example.com/contact.php
Quando l' opzione -F
viene utilizzata , curl
invia i dati utilizzando il Content-Type multipart/form-data
.
Un altro modo per fare una richiesta POST è usare l'opzione -d
. Ciò causa l'invio dei dati utilizzando con curl
utilizzando il Content-Type application/x-www-form-urlencoded
.
curl -X POST -d 'name=noviello' -d '[email protected]' https://example.com/contact.php
Se l'opzione -d
viene utilizzata più di una volta, puoi unire i dati utilizzando il simbolo &
:
curl -X POST -d 'name=noviello&[email protected]' https://example.com/contact.php
Specificare il tipo di contenuto
Per impostare un'intestazione o un tipo di contenuto specifici utilizzare l'opzione -H
. Il comando seguente imposta il tipo di richiesta POST su application/json
e invia un oggetto JSON:
curl -X POST -H "Content-Type: application/json" \
Caricare un file
Per inviare un file con curl
, aggiungi semplicemente il simbolo @
prima del percorso del file. Il file può essere un archivio, un'immagine, un documento, ecc.
curl -X POST -F 'image=@/home/user/Pictures/wallpaper.jpg' http://example.com/upload
Conclusione
Ti abbiamo mostrato come utilizzare curl
per effettuare richieste POST. Per ulteriori informazioni curl
, visitare la pagina della documentazione di Curl.