Basic cURL Tutorial
Sommario:
- Installazione di Curl
- Installa Curl su Ubuntu e Debian
- Installa Curl su CentOS e Fedora
- Come usare Curl
- Salva l'output in un file
- Scarica più file
- Riprendi un download
- Ottieni le intestazioni HTTP di un URL
- Cambia l'Utente-Agente
- Specificare una velocità di trasferimento massima
- Trasferisci file via FTP
- Invia i cookie
- Utilizzo dei proxy
- Conclusione
curl
è un'utilità della riga di comando per il trasferimento di dati da o verso un server progettato per funzionare senza l'interazione dell'utente. Con l'
curl
, è possibile scaricare o caricare i dati utilizzando uno dei protocolli supportati tra cui HTTP, HTTPS, SCP, SFTP e FTP.
curl
offre una serie di opzioni che consentono di riprendere i trasferimenti, limitare la larghezza di banda, il supporto proxy, l'autenticazione utente e molto altro.
In questo tutorial, ti mostreremo come utilizzare lo strumento arricciatura attraverso esempi pratici e spiegazioni dettagliate delle opzioni di arricciatura più comuni.
Installazione di Curl
Oggi il pacchetto curl è preinstallato sulla maggior parte delle distribuzioni Linux.
Per verificare se il pacchetto Curl è installato sul tuo sistema, apri la tua console, digita
curl
e premi Invio. Se hai installato l'
curl
, il sistema stamperà l'
curl: try 'curl --help' or 'curl --manual' for more information
. Altrimenti, vedrai qualcosa come il
curl command not found
.
Se
curl
non è installato, puoi installarlo facilmente usando il gestore pacchetti della tua distribuzione.
Installa Curl su Ubuntu e Debian
sudo apt update
sudo apt install curl
Installa Curl su CentOS e Fedora
Come usare Curl
La sintassi per il comando
curl
è la seguente:
curl
Nella sua forma più semplice, quando viene richiamato senza alcuna opzione,
curl
visualizza la risorsa specificata nell'output standard.
Ad esempio, per recuperare la homepage di
example.com
dovresti eseguire:
curl example.com
Il comando stamperà il codice sorgente della homepage di
example.com
nella finestra del terminale.
Se non viene specificato alcun protocollo,
curl
tenta di indovinare il protocollo che si desidera utilizzare e verrà impostato automaticamente su
HTTP
.
Salva l'output in un file
Per salvare il risultato del comando
curl
, utilizzare l'opzione
-o
o
-O
.
Minuscolo
-o
salva il file con un nome file predefinito, che nell'esempio seguente è
vue-v2.6.10.js
:
curl -o vue-v2.6.10.js
Maiuscolo
-O
salva il file con il nome file originale:
Scarica più file
Per scaricare più file contemporaneamente, utilizzare più opzioni
-O
, seguite dall'URL nel file che si desidera scaricare.
Nel seguente esempio stiamo scaricando i file ISO di Arch Linux e Debian:
curl -O http://mirrors.edge.kernel.org/archlinux/iso/2018.06.01/archlinux-2018.06.01-x86_64.iso \
-O
Riprendi un download
È possibile riprendere un download utilizzando l'opzione
-C -
. Ciò è utile se la connessione si interrompe durante il download di un file di grandi dimensioni e invece di avviare il download da zero, è possibile continuare con quello precedente.
Ad esempio, se stai scaricando il file iso Ubuntu 18.04 usando il seguente comando:
curl -O
e improvvisamente la connessione si interrompe è possibile riprendere il download con:
Ottieni le intestazioni HTTP di un URL
Le intestazioni HTTP sono coppie chiave-valore separate da due punti contenenti informazioni come agente utente, tipo di contenuto e codifica. Le intestazioni vengono passate tra il client e il server con la richiesta o la risposta.
Utilizzare l'opzione
-I
per recuperare solo le intestazioni HTTP della risorsa specificata:
curl -I --http2
L'opzione
-L
indica all'arricciatura di seguire qualsiasi reindirizzamento fino a raggiungere la destinazione finale:
Cambia l'Utente-Agente
A volte durante il download di un file, il server remoto può essere impostato per bloccare Curl User-Agent o per restituire contenuti diversi a seconda del dispositivo visitatore e del browser.
In situazioni come questa per emulare un browser diverso, utilizzare l'opzione
-A
.
Ad esempio per emulare Firefox 60 dovresti usare:
curl -A "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0"
Specificare una velocità di trasferimento massima
L'opzione
--limit-rate
consente di limitare la velocità di trasferimento dei dati. Il valore può essere espresso in byte, kilobyte con il suffisso
k
, megabyte con il suffisso
m
e gigabyte con il suffisso
g
.
Nel seguente esempio,
curl
scaricherà il binario Go e limiterà la velocità di download a 1 mb:
curl --limit-rate 1m -O
Questa opzione è utile per evitare che l'
curl
consumi tutta la larghezza di banda disponibile.
Trasferisci file via FTP
Per accedere a un server FTP protetto con
curl
, utilizzare l'opzione
-u
e specificare il nome utente e la password come mostrato di seguito:
curl -u FTP_USERNAME:FTP_PASSWORD ftp://ftp.example.com/
Una volta effettuato l'accesso, il comando elenca tutti i file e le directory nella home directory dell'utente.
È possibile scaricare un singolo file dal server FTP utilizzando la sintassi seguente:
curl -u FTP_USERNAME:FTP_PASSWORD ftp://ftp.example.com/file.tar.gz
Per caricare un file sul server FTP, utilizzare
-T
seguito dal nome del file che si desidera caricare:
curl -T newfile.tar.gz -u FTP_USERNAME:FTP_PASSWORD ftp://ftp.example.com/
Invia i cookie
A volte potrebbe essere necessario effettuare una richiesta HTTP con cookie specifici per accedere a una risorsa remota o eseguire il debug di un problema.
Per impostazione predefinita, quando si richiede una risorsa con
curl
, nessun cookie viene inviato o memorizzato.
Per inviare i cookie al server, utilizzare l'
-b
seguita da un nome file contenente i cookie o una stringa.
Ad esempio, per scaricare il file rpm Oracle Java JDK
jdk-10.0.2_linux-x64_bin.rpm
dovrai passare un cookie chiamato
oraclelicense
con valore
a
:
curl -L -b "oraclelicense=a" -O
Utilizzo dei proxy
curl
supporta diversi tipi di proxy, inclusi HTTP, HTTPS e SOCKS. Per trasferire i dati tramite un server proxy, utilizzare l'opzione
-x
(
--proxy
), seguita dall'URL del proxy.
Il seguente comando scarica la risorsa specificata utilizzando un proxy sulla porta
8888
192.168.44.1
:
curl -x 192.168.44.1:8888
Se il server proxy richiede l'autenticazione, utilizzare l'opzione
-U
(
--proxy-user
) seguita dal nome utente e dalla password separati da due punti (
user:password
):
curl -U username:password -x 192.168.44.1:8888
Conclusione
curl
è uno strumento da riga di comando che ti consente di trasferire dati da o verso un host remoto. È utile per risolvere problemi, scaricare file e altro.
Gli esempi mostrati in questo tutorial sono semplici, ma dimostrano le opzioni di
curl
più utilizzate e hanno lo scopo di aiutarti a capire come funziona il comando
curl
.
Per ulteriori informazioni
curl
visitare la pagina della documentazione Arricciatura.
Comando Eco in Linux con esempi
Il comando echo è uno dei comandi più basilari e usati di frequente in Linux. Gli argomenti passati a echo vengono stampati sull'output standard.
Comando di taglio Linux con esempi
Cut è un'utilità della riga di comando che consente di tagliare parti di linee da file specificati o dati di piping e stampare il risultato sull'output standard. In questo tutorial, ti mostreremo come utilizzare il comando di taglio di Linux attraverso esempi pratici e spiegazioni dettagliate delle opzioni di taglio più comuni.
Comando data Linux con esempi
Il comando date visualizza o imposta la data del sistema. È più comunemente usato per stampare la data e l'ora in diversi formati e calcolare le date future e passate.