GNU/Linux >> Linux Esercitazione >  >> Linux

Che cos'è un comando cURL e come utilizzarlo?

Il comando cURL è un importante strumento Linux, comunemente usato per il trasferimento dei dati e la risoluzione dei problemi di connessione. cURL è alimentato da libcurl, che è una libreria di trasferimento URL gratuita sul lato client.

Immergiamoci più a fondo e impariamo come usarlo.

Verifica versione cURL

Proprio come con qualsiasi comando Linux, prima di iniziare a lavorare con cURL, dobbiamo accedere al nostro VPS. Se hai bisogno di aiuto, dai un'occhiata a questo tutorial su SSH.

Innanzitutto, controlliamo quale versione di cURL è disponibile con il seguente comando:

curl --version

L'output mostrerà alla versione cURL un elenco di protocolli supportati. Ora possiamo guardare alcuni esempi di comandi cURL

Sintassi di base del comando cURL

Impariamo come utilizzare i comandi cURL. La sintassi di base di cURL è simile alla seguente:

curl [OPTIONS] [URL]

L'uso più semplice di cURL è visualizzare il contenuto di una pagina. L'esempio seguente visualizzerà la home page di testdomain.com .

curl testdomain.com

Questo renderà il codice sorgente completo della home page del dominio. Se non viene specificato alcun protocollo, curl lo interpreterà in HTTP.

Opzioni del file di comando cURL

I comandi cURL possono scaricare file da una posizione remota. Puoi farlo in due modi diversi:

  • -O salverà il file nella directory di lavoro corrente con lo stesso nome file di remote.
  • -o ti consente di specificare un nome o un percorso di file diverso

Un esempio di questo è come mostrato di seguito:

curl -O http://testdomain.com/testfile.tar.gz

Il comando precedente lo salverà come testfile.tar.gz .

curl -o newtestfile.tar.gz http://testdomain.com/testfile.tar.gz

Il comando precedente lo salverà come newtestfile.tar.gz .

Se per qualche motivo il download viene interrotto, puoi riprenderlo utilizzando cURL. Puoi farlo con il seguente comando:

curl -C - -O  http://testdomain.com/testfile.tar.gz

Utilizzando cURL, possiamo anche scaricare più file, come mostrato di seguito:

curl -O http://testdomain.com/testfile.tar.gz -O http://mydomain.com/myfile.tar.gz

Se desideri scaricare più file da più URL, elencali tutti in un file. I comandi cURL possono essere combinati con xargs per scaricare i diversi URL.

Ad esempio, se abbiamo un file allUrls.txt che contiene un elenco di tutti gli URL da scaricare, quindi l'esempio seguente può essere utilizzato per scaricare tutti i file.

xargs –n 1 curl -O < allUrls.txt

Comandi cURL per HTTP

cURL può essere utilizzato anche quando è presente un server proxy. Se sei dietro un server proxy in ascolto sulla porta 8090 su sampleproxy.com, scarica i file come mostrato di seguito:

curl -x  sampleproxy.com:8090 -U username:password -O http:// testdomain.com/testfile.tar.gz

Nell'esempio sopra, puoi saltare -U username:password se il proxy non richiede un metodo di autenticazione.

Una tipica richiesta HTTP conterrà sempre un'intestazione. L'intestazione HTTP invia informazioni aggiuntive sul server Web remoto insieme alla richiesta effettiva. Mentre tramite gli strumenti per sviluppatori di un browser puoi controllare le informazioni sull'intestazione, puoi verificarle utilizzando un comando cURL.

Di seguito è riportato un esempio di come recuperare le informazioni di intestazione da un sito Web.

curl -I www.testdomain.com

Usando cURL, puoi creare un GET e un POST richiesta. Un OTTIENI la richiesta sarà la seguente:

curl http://mydomain.com

Un esempio di un POST la richiesta sarà come mostrato di seguito:

curl –data “text=Hello” https://myDomain.com/firstPage.jsp

Qui text=Ciao è il parametro della richiesta POST. Questo comportamento sarebbe simile ai moduli HTML.

Puoi anche specificare più metodi HTTP in un singolo comando cURL. Fallo utilizzando –next opzione, in questo modo:

curl –data “text=Hello” https://myDomain.com/firstPage.jsp --next https://myDomain.com/displayResult.jsp

Questo contiene una richiesta POST seguita da una richiesta GET.

Ogni richiesta HTTP avrà un programma utente che viene inviato come parte della richiesta. Indica i dettagli del browser web del client. Per impostazione predefinita, una richiesta cURL contiene curl e il numero di versione come dettagli dell'agente utente. Un output di esempio è come mostrato di seguito:

“GET / HTTP/1.1” 200 “_” ”curl/7/29/0”

È possibile modificare queste informazioni sull'agente utente predefinito utilizzando il comando seguente:

curl -I http://mydomain.com –-user-agent “My new Browser”

Ora l'output modificato sarà:

“GET / HTTP/1.1” 200 “_” ”My new Browser”

cURL per i cookie

I comandi cURL possono essere utilizzati per controllare quali cookie vengono scaricati su qualsiasi URL. Quindi, se stai accedendo a https://www.samplewebsite.com , quindi puoi eseguire l'output in un file, salvare i cookie e accedervi utilizzando cat o un editor VIM.

Di seguito è riportato un esempio di tale comando:

curl --cookie-jar Mycookies.txt https://www.samplewebsite.com /index.html -O

Allo stesso modo, se hai i cookie in un file, puoi inviarlo al sito web. Un esempio di tale comando è quello mostrato di seguito:

curl --cookie Mycookies.txt https://www. samplewebsite.com

cURL per FTP

Il comando cURL supporta FTP! Puoi usarli per scaricare file da un server remoto.

curl -u username:password -O ftp://sampleftpserver/testfile.tar.gz

Nel comando precedente, ftp://sampleftpserver è un server FTP che accetta connessioni. Il nome utente e la password possono essere ignorati per le connessioni FTP anonime. Digita il comando e guarda la barra di avanzamento riempirsi.

Puoi anche caricare file con il comando seguente:

curl -u username:password -T testfile.tar.gz ftp://sampleftpserver

Ancora una volta, possiamo saltare il nome utente e la password per le connessioni FTP anonime.

Limitazione dell'output cURL

Durante l'utilizzo di un cURL non puoi sapere quanto sarà grande l'output. Puoi limitare la larghezza di banda, per assicurarti che non sia limitata da cURL.

Il comando seguente limita la larghezza di banda a 100.000:

curl --limit-rate 100K http://testdomain.com/samplefile.tar.gz -O

Conclusione

cURL è un comando potente e ampiamente utilizzato. È utile quando dipendi dalla riga di comando. Ha diverse opzioni e supporta più protocolli. Questo è un ottimo motivo per imparare questo comando!

Ricorda, se vuoi imparare alcuni comandi avanzati, fai semplicemente riferimento al manuale che dovrebbe essere in tutte le versioni di Unix:

man curl

Speriamo che questo tutorial ti abbia dato un buon punto di partenza per l'utilizzo di cURL! Come utilizzerai questo comando? Fatecelo sapere nei commenti!


Linux
  1. Cos'è Umask e come usarlo

  2. Comando lspci:cos'è e come utilizzarlo

  3. Che cos'è un comando Chown in Linux e come usarlo

  4. Chroot "prigione" - Che cos'è e come usarlo?

  5. Che cos'è la posta e come viene navigata?

Come installare e utilizzare il comando Curl su CentOS 8

Come installare e utilizzare il comando locate in Linux

Come installare e utilizzare il comando Ping in Linux

Come usare il comando DD e come masterizzare ISO usandolo

Come installare e utilizzare il comando fd in Linux

Cos'è EasyApache e come si usa?