CURL: trasferimento dati su internet in semplicità

Il mondo dell’open source offre strumenti potenti e versatili: tra questi, CURL si distingue per la sua capacità di trasferire dati in rete con estrema facilità. Pensato sia per chi si avvicina per la prima volta alla riga di comando sia per gli esperti di DevOps, CURL consente di scaricare pagine web, caricare file interagire con API RESTful senza sforzo.

Che cos’è CURL e perché scegliere questo strumento

CURL, abbreviazione di “Client URL”, è un’utility da terminale che supporta protocolli come HTTP, HTTPS, FTP, SFTP, SCP e altri. La sua forza risiede nella sintassi essenziale e nella leggerezza: non richiede interfacce grafiche e si integra perfettamente in script Bash o PowerShell. È compatibile con tutti i principali sistemi operativi, tra cui Linux, macOS e Windows, e viene spesso incluso di default nelle distribuzioni Unix-like. Grazie alla vasta community open source alle spalle, la documentazione è ricca e costantemente aggiornata.

Utilizzo pratico CURL: trasferimento dati su internet in semplicità

CURL si presta a numerose applicazioni quotidiane in ambito IT:

  • Download di file da server remoti, con possibilità di gestione automatica di redirect e certificati SSL.
  • Invio di richieste POST, utile per testare endpoint API e simulare interazioni tra client e server.
  • Autenticazione tramite token o credenziali, sfruttando protocolli sicuri e header personalizzati.
  • Monitoraggio remoto di servizi web, integrandosi con script Bash, cron job o strumenti di CI/CD.

CURL è progettato con un’attenzione particolare alla sicurezza del trasferimento dati. Supporta la verifica dei certificati SSL/TLS, l’autenticazione avanzata e l’uso di proxy per garantire comunicazioni protette e riservate.

Installare CURL su Ubuntu/Debian

È possibile scaricare e installare curl semplicemente con il classico comando apt-get come segue:

sudo apt install curl

Una volta installato, verifica il corretto funzionamento con:

curl --version
Installare CURL su Windows

Su Windows 10 e versioni successive, CURL è incluso nel sistema. È sufficiente aprire il Prompt dei comandi e digitare:

curl --version

Se viene mostrata la versione, CURL è pronto per l’uso. In alternativa, si può scaricare manualmente dal sito ufficiale https://curl.se/windows.

Funzionamento e sintassi di base CURL

La struttura tipica di un comando CURL è la seguente:

curl [opzioni] [URL]

CURL offre numerose opzioni avanzate per ottimizzare la comunicazione tra client e server, le più comuni:

  • -L o –location: segue automaticamente i redirect HTTP.
  • -I o –head: restituisce esclusivamente le intestazioni di risposta, utile per verifiche tecniche.
  • -i o –include: include l’header della risposta nell’output.
  • -u o –user: permette l’autenticazione HTTP con nome utente e password.
  • -d o --data: consente l’invio di dati nel corpo della richiesta, utile per simulare moduli web o interazioni API.
  • -H o --header: aggiunge header personalizzati, essenziale per richieste con token di accesso o tipo di contenuto specifico.
  • -X o –request: specifica il metodo HTTP da utilizzare.
  • -o o –output: salva l’output in un file.
  • -O o –remote-name: salva l’output con lo stesso nome del file remoto.
  • -T o –upload-file: carica un file sul server.
  • -A o –user-agent: specifica l’User-Agent da inviare.
Il primo comando curl: scaricare il codice HTML di una pagina

Per sperimentare immediatamente, digita:

curl https://emanuelegori.uno

Otterrai il sorgente HTML della pagina, utile per controlli rapidi di raggiungibilità o di contenuto.

Per salvare l’output in un file:

curl -o pagina.html https://emanuelegori.uno

Il file pagina.html conterrà il codice scaricato.

Visualizzare solo le intestazioni (HTTP headers)

Per verificare lo stato di una risorsa senza scaricare tutto il contenuto:

curl -I https://emanuelegori.uno

Questo comando restituisce soltanto le intestazioni HTTP, incluse informazioni sul server, tipo di contenuto e codici di stato.

Scaricare file con curl: un esempio pratico

Se vuoi ottenere un’immagine, basta:

curl -O https://emanuelegori.uno/wp-content/uploads/2025/04/OIP.G3EeN3nAnPQZaa_zRuT0VwHaE3-150x150.webp

L’opzione -O preserva il nome originale (OIP.G3EeN3nAnPQZaa_zRuT0VwHaE3-150x150.webp). Per un nome personalizzato:

curl -o foto150x150.webp https://emanuelegori.uno/wp-content/uploads/2025/04/OIP.G3EeN3nAnPQZaa_zRuT0VwHaE3-150x150.webp

Questo metodo funziona con ogni tipo di file: .zip, .mp4, documenti PDF e altro.

Caricare file con curl su un server FTP

CURL semplifica anche l’upload via FTP. Ecco come inviare un testo:

curl -T report.txt --user utente:password ftp://ftp.miosito.it/
  • -T specifica il file da caricare.
  • Con --user fornisci nome utente e password.

Assicurati di avere i permessi di scrittura nella directory di destinazione.

Simulare un browser (user-agent)

Alcuni server bloccano richieste che non provengono da browser. CURL permette di imitare un browser reale:

curl -A "Mozilla/5.0" https://emanuelegori.uno
Conclusione

CURL non è soltanto uno strumento da riga di comando, ma una vera e propria interfaccia universale per la comunicazione tra macchine, adottata in ogni ambito dell’IT moderno: dallo sviluppo software alla cybersecurity, dalla gestione infrastrutturale al monitoraggio dei servizi web.

Apprendere l’uso di CURL rappresenta un passo fondamentale per acquisire autonomia nella gestione di operazioni di rete, soprattutto in ambienti server dove non è disponibile un’interfaccia grafica. Le sue funzionalità coprono gran parte delle esigenze quotidiane: test di connettività, download automatizzati, interazione con API e trasferimento di file.

Per un neofita, iniziare con comandi semplici e progressivamente sperimentare casi d’uso più complessi è il metodo migliore per consolidare le competenze. CURL, per sua natura, si adatta sia a piccoli task che a scenari infrastrutturali più articolati.

Padroneggiarlo non solo semplifica molte attività operative, ma consente anche di comprendere più a fondo il funzionamento delle comunicazioni via internet.

emanuelegori
emanuelegori

Sono Emanuele, un appassionato di informatica da quando, negli anni 90, ho scoperto il mondo digitale con il mio primo personal computer Intel 486.
Da allora, non ho mai smesso di esplorare, imparare e condividere.
Oggi mi dedico al self-hosting, all'open source e alla privacy, per costruire un futuro digitale più autonomo e sicuro.

Lascia una risposta

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Leave the field below empty!