Il comando curl è uno strumento da linea di comando per lo scambio di dati tra entità.
Il nome dello strumento è l’acronimo di Client URL.
Indice
Comando curl Linux: cosa è
curl
permette di trasferire dati da / ad un server.
I protocolli attualmente supportati da curl
sono:
- DICT
- FILE
- FTP
- FTPS
- GOPHER
- GOPHERS
- HTTP
- HTTPS
- IMAP
- IMAPS
- LDAP
- LDAPS
- MQTT
- POP3
- POP3S
- RTMP
- RTMPS
- RTSP
- SCP
- SFTP
- SMB
- SMBS
- SMTP
- SMTPS
- TELNET
- TFTP
- WS
- WSS
Sintassi comando curl
Considerato l’elevato numero di protocolli supportato da curl
, la sua sintassi può risultare articolata.
In questa sezione, riporterò la sintassi più utilizzata da un generico sviluppatore web.
La sintassi dello strumento è la seguente:
curl [opzioni / URLs]
Le opzioni iniziano con uno o due trattini.
Molte di esse hanno bisogno di un valore aggiuntivo vicine a loro.
Le opzioni utilizzate dovranno essere coerenti con il protocollo specificato nell’URL.
Nell’elenco di seguito riporto alcune delle opzioni supportate:
--basic
: comunica a curl di usare HTTP Basic Authentication con l’host remoto--cacert
: indica a curl il certificato della Certificate Authority da utilizzare per la creazione di un canale di comunicazione tramite TLS--http2
: fa in modo che curl utilizzi il protocollo http, versione 2-k, --insecure
: specifica a curl di non effettuare verifiche riguardo ai certificati quando viene stabilita una connessione tramite TLS, SFTP e SCP
Per ulteriori approfondimenti in merito alla sintassi ed alle opzioni disponibili, ti invito a consultare la documentazione di curl.
Comando curl: esempi
In questa sezione avrai modo di vedere alcuni esempi di utilizzo di curl
.
Chiamata HTTP GET con Headers
Il seguente estratto di codice esegue una chiamata HTTP GET con HTTP headers.
curl https://www.dariocapozzi.it/un/indirizzo/ -H "X-Custom-Header: value" -H "Content-Type: application/json"
Chiamata HTTP POST con Headers
Il seguente estratto di codice esegue una chiamata HTTP POST con HTTP headers.
curl -X POST https://www.dariocapozzi.it/un/indirizzo/ -H 'Accept: application/json' -H 'Content-Type: application/json' -d '{"id": "7328"}'
In questa chiamata vengono inviate nelle informazioni al server serializzate in JSON.
Chiamata HTTP GET con cookies
Grazie a questo snippet di codice potrai effettuare una chiamata HTTP GET inviando un cookie nella richiesta.
curl --cookie "Name=Value" https://www.dariocapozzi.it/un/indirizzo/
Approfondimenti Linux
Questo blog contiene diversi articoli riguardo a Linux ed ad Web development.
Eccone alcuni:
- df linux – il commando per controllare lo spazio su disco
- Comando tail Linux: come monitorare i logs in tempo reale
- Connessione SSH: come effettuarla da terminale
- File Hosts: cosa è e come utilizzarlo
- Come fare una chiamata AJAX ( GET / POST )
- Come diventare sviluppatore web: guida completa
- Perché usare WordPress: i motivi per sceglierlo
Conclusioni
In questo articolo hai appreso come utilizzare curl
, il comando per Command Line Interface più utilizzato per il trasferimento dati.