Web Hosting Logo
Login
Novità:
Il tuo hosting professionale da 25 anni ha una nuova gestione! WebHosting.it è adesso parte di SupportHost

Linux: comando curl

Come saprai, ci sono tanti comandi linux da poter utilizzare, qui trovi i 50 più diffusi.

In questa pagina però parliamo di un comando specifico: il comando curl

Si tratta di un potente comando che permette di stabilire delle connessioni con dei server posizionati chissà dove e poter scambiare dati e documenti in modalità sicura e soprattutto efficace.

Questo comando, insieme a tante delle sue declicazioni, consente di poter operare tanti tipi diversi di attività come il testing di URL, il download di file, l'invio di richieste HTTP, il recupero di dati da server remoti, il caricamento di file su server e molto altro ancora.

Il comando curl supporta una varietà di protocolli, tra cui HTTP, HTTPS, FTP, FTPS, SCP, SFTP, TFTP, DICT, TELNET, LDAP e FILE, offrendo una flessibilità senza pari nelle operazioni di rete.

Grazie alla sua natura automatizzata, il comando è progettato per funzionare senza richiedere l'interazione dell'utente, rendendolo uno strumento essenziale per gli sviluppatori, gli amministratori di sistema e gli utenti avanzati che lavorano con reti e servizi web.

Prova gratis e senza impegno uno dei nostri piani hosting per 14 giorni. Non è richiesto nessun dato di pagamento!

Prova gratis

Sintassi del comando curl 

La sintassi di base del comando curl è abbastanza semplice.

È molto simile al comando wget, che è un altro comando di Linux che viene utilizzato per scaricare file da Internet. La sintassi è la seguente:

 > curl <URL>

In questo caso, <URL> è l'indirizzo del server remoto da cui si desidera scaricare o inviare dati.

Il comando curl può anche essere utilizzato con un'ampia varietà di opzioni e parametri per offrire maggiore flessibilità. 

Opzioni del comando curl 

Come gli altri comandi di Linux, il comando curl include molte opzioni per usarlo nel modo più completo, efficace e versatile, offrendo maggiore controllo all’utente.

Nella lista di seguito, includiamo alcune delle opzioni più comunemente utilizzate:

- -i: consente di visualizzare l'intestazione HTTP nella risposta. 

- -H: invia una richiesta head. Recupera solo le informazioni d'intestazione sul documento, senza i dati del documento. In questo modo si può ispezionare il contenuto di prima di decidere se scaricarlo per intero con una richiesta GET

- -X: specifica il tipo di richiesta HTTP da utilizzare (es. GET, POST, PUT, ecc.). 

- -d: invia dati POST come parte della richiesta. 

- -b: invia i cookie come parte della richiesta.

 - -u: permette di specificare un nome utente e una password per l'autenticazione. 

- -O: salva la risposta in un file. 

- -v: come in altri comandi attiva la modalità “verbose” e visualizza informazioni dettagliate sulla richiesta. 

-T, --upload-file <file>: Carica il file sul server.

-k, --insecure: Consente le connessioni a siti SSL senza certificazioni.

--trace <file>: Registra tutti i dati ricevuti e inviati nel file specificato. 

--trace-ascii <file>: Registra tutti i dati nel file specificato, utilizzando il formato ASCII. --trace-time: Aggiunge il timestamp alle voci del registro di traccia.

Esempi pratici nell'uso del comando curl

 Vediamo ora alcuni esempi pratici del comando curl con delle opzioni

  • Come usare il comando curl per scaricare un file 

Per scaricare un file da un server remoto con curl, è sufficiente eseguire il seguente comando: 

> curl <URL> -O 

Questo comando scaricherà il file nella directory corrente. 

  • Come usare il comando curl per inviare una richiesta POST 

Per inviare una richiesta POST (una richiesta POST è una richiesta di invio dati al server) con curl, è possibile utilizzare l'opzione -d in questo modo:

 > curl <URL> -d "<dati>" 

Questo comando invierà i dati POST specificati all'URL specificato. 

  • Come usare il comando curl per inviare una richiesta con autenticazione 

Per inviare una richiesta con autenticazione, è possibile utilizzare l'opzione -u in questo modo: 

> curl <URL> -u <username>:<password> 

Questo comando invierà una richiesta all'URL specificato utilizzando l'autenticazione fornita. 

> curl -o file

Il comando indicato sopra (curl -o file) è utile per effettuare il download di un file da un indirizzo internet specificato di seguito al comando. Il file scaricato può essere salvato sul proprio computer assegnando contestualmente il nome al file scaricato che può essere differente dal nome originale del file.

Ad eseempio, se vogliamo scaricare il file dummy.pdf dalla url https://webhosting.it/documenti/dummy.pdf e contestualmente rinominare il file in documento.pdf, quello che segue è il comando che dovrai utilizzare

> curl -o documento.pdf https://webhosting.it/documenti/dummy.pdf

Problemi frequenti con il comando curl

Uno dei problemi più comuni con il comando curl è che non tutte le opzioni sono supportate su tutti i sistemi operativi.

Inoltre, è importante notare che alcune opzioni possono essere incompatibili con altre.

Ad esempio, l'opzione -X non può essere utilizzata con l'opzione -d. 

I timeout sono un problema comune quando si usa curl con una connessione a bassa velocità o da un server che impiega troppo tempo a rispondere.

Prova gratis e senza impegno uno dei nostri piani hosting per 14 giorni. Non è richiesto nessun dato di pagamento!

Prova gratis

Anche gli errori SSL possono influenzare l’uso di curl e si presentano di solito quando il server non è configurato per utilizzare la versione SSL corretta o quando il server utilizza un certificato SSL obsoleto.

Bisogna ricordare che curl non segue i reindirizzamenti per impostazione predefinita. Ciò significa che se un URL viene reindirizzato, curl non lo seguirà automaticamente.

Inoltre curl non conserva i cookie quando effettua le richieste. Ciò significa che se un utente deve effettuare il login a un sito web per accedere ai suoi contenuti, curl non sarà in grado di farlo senza una configurazione aggiuntiva.

Ivan Messina
ivan
Con oltre 10 anni di esperienza nel web hosting, lavora ogni giorno per migliorare il servizio e riservare attenzione a ogni singolo cliente.
Web Hosting Footer Image