androide

Comando Curl in Linux con esempi

Basic cURL Tutorial

Basic cURL Tutorial

Sommario:

Anonim

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

sudo yum install curl

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:

curl -O

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:

curl -C - -O

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:

curl -L google.com

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.

terminale a ricciolo