Comando cURL in Linux con 30 esempi pratici

Il comando cURL in Linux è un potente strumento per trasferire dati da o verso un server utilizzando vari protocolli, tra cui HTTP, HTTPS, FTP e altro. Viene comunemente utilizzato per automatizzare le richieste Web, testare le API e scaricare file da Internet. cURL è versatile e può gestire un'ampia gamma di attività, dal semplice download di file all'invio di moduli complessi in più parti.

In questa guida esploreremo 30 esempi pratici di utilizzo del comando cURL in Linux. Questi esempi copriranno casi d'uso comuni, come il download di file, l'invio di dati alle API, la gestione dell'autenticazione e altro ancora, dimostrando la flessibilità e la potenza di cURL per varie attività.

La sintassi del comando cURL

Prima di procedere con la dimostrazione di 30 esempi con il comando cURL, è una buona idea comprenderne prima la sintassi:

curl [options] [URL]

In questa sintassi:

  • opzioni: questi sono i parametri che modificano il comportamento di cURL.
  • URL: questo è l'indirizzo del file o della risorsa con cui desideri interagire.

Opzioni del comando cURL

cURL offre molte opzioni che ti consentono di personalizzarne il comportamento. Ecco alcune delle opzioni più comunemente utilizzate:

  • -O: scarica il file dall'URL specificato.
  • -I: recupera l'intestazione HTTP dal server.
  • -u: specifica le credenziali dell'utente per l'autenticazione del server.
  • -d: invia i dati specificati in una richiesta POST al server.
  • -x: specifica l'indirizzo proxy da utilizzare per le richieste.

30 esempi di comando cURL in Linux

Ora approfondiamo alcuni esempi pratici di utilizzo del comando cURL. Ogni esempio sarà preceduto da una spiegazione seguita da una dimostrazione del risultato.

Esempio 1: recupero dei dati da un URL

L'uso più elementare di cURL è recuperare il contenuto di una pagina web. Ecco come puoi farlo:

curl https://www.example.com

Questo comando recupera il contenuto HTML della pagina Web su www.example.com.

Esempio 2: download di un file

cURL può essere utilizzato anche per scaricare file da Internet. Ecco un esempio:

curl -O https://www.example.com/file.txt

Questo comando scarica il file file.txt da www.example.com e lo salva nella directory corrente.

Esempio 3: invio di una richiesta POST

Puoi utilizzare cURL per inviare richieste POST a un server. Ecco come:

curl -d "param1=value1&param2=value2" -X POST http://www.example.com

Questo comando invia una richiesta HTTP POST a www.example.com con i dati param1=value1¶m2=value2.

Esempio 4: recupero delle intestazioni HTTP

Se vuoi recuperare le intestazioni HTTP da un server, puoi utilizzare l'opzione -I. Ecco un esempio:

curl -I https://www.example.com

Questo comando recupera le intestazioni HTTP da www.example.com.

Esempio 5: utilizzo di un proxy

Se è necessario utilizzare un proxy, specificarlo utilizzando l'opzione -x. Ecco come:

curl -x http://proxy.example.com:8080 https://www.example.com

Questo comando invia la richiesta a www.example.com tramite il proxy proxy.example.com:8080.

Esempio 6: invio di cookie

Puoi inviare cookie insieme alla tua richiesta utilizzando l'opzione -b. Ecco un esempio:

curl -b "name=value" https://www.example.com

Questo comando invia un cookie con nome=valore a www.example.com.

Esempio 7: invio dell'User Agent

I siti Web spesso utilizzano l'agente utente per fornire contenuti adatti al browser del cliente. Per inviare un agente utente con la tua richiesta, utilizza l'opzione -A:

curl -A "Mozilla/5.0" https://www.example.com

Questo comando invia una richiesta a www.example.com con l'agente utente impostato come Mozilla/5.0.

Esempio 8: seguire i reindirizzamenti

Alcuni URL reindirizzano ad altri URL. Per seguire questi reindirizzamenti, utilizza l'opzione -L:

curl -L https://www.example.com

Questo comando segue qualsiasi reindirizzamento da www.example.com.

Esempio 9: salvataggio dell'output in un file

Per salvare l'output di un comando cURL in un file, utilizza l'opzione -o:

curl -o output.html https://www.example.com

Questo comando salva l'output di www.example.com in output.html.

Esempio 10: caricamento di file con FTP

cURL può caricare file su un server tramite FTP. Ecco come:

curl -T file.txt ftp://ftp.example.com --user username:password

Questo comando carica file.txt su ftp.example.com utilizzando il nome utente e la password forniti.

Esempio 11: ripresa di un download

Se un download viene interrotto, puoi riprenderlo con l'opzione -C –:

curl -C - -O https://www.example.com/file.txt

Questo comando riprende il download di file.txt da www.example.com.

Esempio 12: download di più file

Per scaricare più file, specificare più URL:

curl -O https://www.example.com/file1.txt -O https://www.example.com/file2.txt

Questo comando scarica file1.txt e file2.txt da www.example.com.

Esempio 13: invio di una richiesta DELETE

Per inviare una richiesta DELETE, utilizzare l'opzione -X DELETE:

curl -X DELETE https://www.example.com/resource

Questo comando invia una richiesta DELETE all'URL www.example.com/resource.

Esempio 14: output dettagliato

Per informazioni dettagliate sulla richiesta e sulla risposta, utilizzare l'opzione -v:

curl -v https://www.example.com

Questo comando fornisce un output dettagliato per la richiesta a www.example.com.

Esempio 15: Modalità silenziosa

Per eliminare la barra di avanzamento e i messaggi di errore, utilizzare l'opzione -s:

curl -s https://www.example.com

Questo comando recupera il contenuto di www.example.com in modalità silenziosa.

Esempio 16: visualizzazione dell'avanzamento del download

Per visualizzare l'avanzamento del download in un formato più leggibile, utilizzare l'opzione #:

curl -# -O https://www.example.com/file.txt

Questo comando scarica file.txt da www.example.com e visualizza l'avanzamento come una barra di avanzamento.

Esempio 17: invio di dati JSON

Per inviare dati JSON in una richiesta POST, utilizzare l'opzione -H per impostare il tipo di contenuto:

curl -d '{"key1":"value1", "key2":"value2"}' -H "Content-Type: application/json" -X POST https://www.example.com

Questo comando invia una richiesta POST con dati JSON a www.example.com.

Esempio 18: utilizzo di cURL con un'API

cURL viene spesso utilizzato per interagire con le API. Ecco un esempio:

curl -H "Authorization: Bearer YOUR_TOKEN" https://api.example.com

Questo comando invia una richiesta a https://api.example.com con un'intestazione di autorizzazione.

Esempio 19: download di file in background

Per scaricare un file in background, utilizza l'opzione -O con una e commerciale alla fine:

curl -O https://www.example.com/file.txt &

Questo comando scarica il file.txt da www.example.com in background.

Esempio 20: invio di dati da un file

Per inviare dati da un file in una richiesta POST, utilizzare il simbolo @:

curl -d @data.txt -X POST https://www.example.com

Questo comando invia una richiesta POST con i dati da data.txt a www.example.com.

Esempio 21: recupero di contenuto dal server FTP

cURL può essere utilizzato per recuperare contenuto da un server FTP. Ecco come:

curl ftp://ftp.example.com/file.txt --user username:password

Questo comando recupera file.txt da ftp.example.com utilizzando il nome utente e la password forniti.

Esempio 22: recupero di contenuti da un sito Web protetto da password

Per recuperare contenuti da un sito Web protetto da password, utilizzare l'opzione -u:

curl -u username:password https://www.example.com

Questo comando recupera il contenuto da www.example.com utilizzando il nome utente e la password forniti.

Esempio 23: recupero di contenuto da un sito Web con SSL

Per recuperare contenuti da un sito Web con SSL, utilizzare l'opzione -k:

curl -k https://www.example.com

Questo comando recupera il contenuto da www.example.com, ignorando eventuali avvisi sul certificato SSL.

Esempio 24: invio di una richiesta PUT

Per inviare una richiesta PUT, utilizzare l'opzione -X PUT:

curl -X PUT -d "data" https://www.example.com/resource

Questo comando invia una richiesta PUT con i dati "data" a www.example.com/resource.

Esempio 25: recupero delle intestazioni di risposta

Per recuperare solo le intestazioni di risposta, utilizza l'opzione -I:

curl -I https://www.example.com

Questo comando recupera solo le intestazioni di risposta da www.example.com.

Esempio 26: recupero di contenuti da un sito Web con cookie

Per recuperare contenuti da un sito Web con cookie, utilizzare l'opzione -b:

curl -b cookies.txt https://www.example.com

Questo comando recupera il contenuto da www.example.com utilizzando i cookie memorizzati in cookies.txt.

Esempio 27: recupero di contenuto da un sito Web con intestazioni personalizzate

Per recuperare contenuti da un sito Web con intestazioni personalizzate, utilizza l'opzione -H:

curl -H "Custom-Header: Value" https://www.example.com

Esempio 28: recupero di contenuto da un sito Web con un timeout

Per recuperare contenuto da un sito Web con un timeout, utilizza l'opzione -m:

curl -m 10 https://www.example.com

Questo comando recupera il contenuto da www.example.com con un timeout di 10 secondi.

Esempio 29: recupero di contenuto da un sito Web in modalità dettagliata

Per recuperare contenuto da un sito Web in modalità dettagliata, utilizzare l'opzione -v:

curl -v https://www.example.com

Questo comando recupera il contenuto da www.example.com in modalità dettagliata, visualizzando informazioni dettagliate sulla richiesta e sulla risposta.

Esempio 30: recupero di contenuto da un sito Web e visualizzazione del misuratore di avanzamento

Per recuperare contenuti da un sito Web e visualizzare la barra di avanzamento, utilizzare l'opzione -#:

curl -# https://www.example.com

Questo comando recupera il contenuto da www.example.com e visualizza l'indicatore di avanzamento.

Conclusione

Padroneggiare il comando cURL con questi esempi pratici può migliorare significativamente la tua capacità di interagire con i servizi web, automatizzare i trasferimenti di dati e risolvere i problemi di rete. La pratica regolare con diverse opzioni e comandi cURL approfondirà la tua comprensione e ti consentirà di sfruttare tutto il suo potenziale nei tuoi flussi di lavoro Linux. Goditi la versatilità e l'efficienza che cURL apporta al tuo toolkit da riga di comando.

Joshua James
Seguimi
Ultimi post di Joshua James (vedi tutto)

Lascia un commento