Introduzione

Curl è un strumento per trasferire dati da o verso un server, utilizzando uno dei protocolli supportati come HTTP, HTTPS, FTP, FTPS, SCP, SFTP, TFTP, DICT, TELNET, LDAP o FILE. Il comando è progettato per funzionare senza l'interazione dell'utente. Curl offre molte funzionalità come:

  • Proxy support.
  • User authentication.
  • FTP upload.
  • HTTP post.
  • SSL connections.
  • Cookies.
  • File transfer resume and more.

In questo tutorial vedremo come utilizzare Curl su Linux per scaricare dei file.

Scaricare un file con Curl

La sintassi è la seguente per scaricare (download) i file dal server http/ftp remoto.

Per scaricare un file:

curl -O https://server1.noviello.it/file.tar.gz

Per scaricare più file contemporaneamente:

curl -O https://noviello.it/index.html -O https://noviello.it/file.zip

Scaricare un file con Curl da un server SSH

È possibile scaricare i file in modo sicuro usando da un server SSH usando SFTP.
Da console dare il seguente comando, utilizzando i propri parametri di accesso:

curl -u nomeutente sftp://noviello.it/path/to/file.txt

Se si vuole scaricare un file dalla home del proprio utente del server remoto utilizzare il carattere ~ (indica la directory $HOME):

curl -u nomeutente sftp://home.noviello.it/~/docs/nomefile.pdf

Puoi scaricare un file da un server SSH usando SCP con una chiave privata per autenticarti, la sintassi è la seguente:

curl -u nomeutente: --key ~/.ssh/id_rsa --pubkey ~/.ssh/id_rsa.pub scp://home.noviello.it/~/img/profile.png
  • -u nomeutente - Specifica il nome utente da utilizzare per l'autenticazione del server.
  • -u nomeutente:password - Specifica il nome utente e la password da utilizzare per l'autenticazione del server.
  • –Key ~/.ssh/id_rsa - È il nome del file che contiene la chiave privata SSL o SSH. Ti consente di recuperare la tua chiave privata da questo file.
  • –Pubkey ~/.ssh/id_rsa.pub - È il nome del file che contiene la chiave privata SSL o SSH. Ti consente di recuperare la tua chiave pubblica da questo file.
  • scp:indirizzo/percorso - Usa il protocollo scp e scarica il file dalla home del server chiamata home.noviello.it.

Scaricare un file utilizzando username e password

La sintassi è la seguente per scaricare un file usando username e password dell'ftp:

curl ftp://nomeutente:[email protected]:21/path/to/backup.tar.gz

Oppure, un'altro modo di scrivere il comando:

curl -u nomeutente:password ftp://ftp.noviello.it:21/path/to/backup.tar.gz

L'utente ftp sicuro (ftp con ssl) può utilizzare l'opzione –ftp-ssl:

curl --ftp-ssl -u nomeutente:password ftp://ftp.noviello.it:21/path/to/backup.tar.gz

Autenticazione HTTP e download di file con curl

L'utente HTTP può utilizzare la sintassi seguente:

curl http://nomeutente:[email protected]/file/path/data.tar.gz

Oppure, un'altro modo di scrivere il comando:

curl -u nomeutente:password http://server.noviello.it/file/path/data.tar.gz

Altri comandi utili

È possibile scaricare una pagina Web e archiviarla in un file locale con il seguente comando:

curl -o noviello.html https://noviello.it/index.html

Per scrivere l'output del comando in un file locale con lo stesso nome del file richiamato, da terminale:

curl --remote-name https://server.noviello.it/file.tar.gz

Per scrivere l'output del comando in un file:

curl -o output.txt http://server.noviello.it/file.tar.gz

Conclusione

Per maggiori informazioni sull'utilizzo del comando curl:

curl -h