Essere un ingegnere IT comporta varie attività da svolgere, come il controllo della connettività di rete, il download di file o l'impostazione delle autenticazioni. Di solito, queste attività richiedono strumenti diversi. Bene, non con cURL. L'utilità cURL Linux aiuta con la maggior parte delle cose di cui un ingegnere IT ha bisogno.
In questo tutorial imparerai tutte le funzionalità della riga di comando fornite da cURL.
Continua a leggere e migliora le tue abilità con cURL!
Prerequisiti
Questo tutorial comprende dimostrazioni dettagliate. Per seguire, assicurati di avere quanto segue:
- Una macchina Ubuntu – Questo tutorial utilizza Ubuntu 18.04 con Apache installato.
- Un PC Windows XP+:questo tutorial utilizza Windows 10 Enterprise Edition.
- Un host Linux remoto:questo tutorial utilizza una macchina Ubuntu 18.04.5 LTS.
- Un account utente sull'host SSH Linux remoto con autorizzazioni sudo.
Installazione di cURL Linux (Ubuntu)
Come qualsiasi altro strumento, prima di sfruttare cURL, devi prima installarlo sulla tua macchina. Puoi installare cURL su qualsiasi sistema operativo basato su *nix, ma è più comunemente usato su Ubuntu.
cURL è un'utilità della riga di comando che ti consente di eseguire tonnellate di attività come segue:
- Visualizza lo stato di varie configurazioni di rete di macchine Windows o server Linux
- Trasferisci dati da o verso server
- Supporta più protocolli, come HTTP, FTP, IMAP, POP3, SCP e SFTP.
Per installare cURL sulla tua macchina Ubuntu:
1. Collegati al tuo host Ubuntu con il tuo client SSH preferito.
2. Esegui i seguenti comandi, che non forniscono output ma creano una directory denominata ~/install_curl_demo e passare a quella directory. Questa directory conterrà tutte le risorse che creerai in questo tutorial.
mkdir ~/install_curl_demo
cd ~/install_curl_demo
3. Quindi, esegui il comando apt update di seguito per aggiornare l'indice del pacchetto di sistema.
Questo comando assicura che il gestore di pacchetti apt possa trovare la fonte corretta durante il download di qualsiasi pacchetto dipendente.
sudo apt update
4. Ora, esegui il comando apt install di seguito per installare cURL sul tuo computer.
sudo apt install curl
5. Infine, esegui il comando seguente per controllare la versione di cURL installata sul tuo computer. In questo modo avrai la certezza di aver installato correttamente cURL.
curl --version
Autenticazione di siti Web
Diversi protocolli supportano l'arricciatura, come FILE, FTP, HTTP, HTTPS, POP3, SCP, SFTP, TELNET, ecc. e non è necessario lavorare con alcuna interazione dell'utente.
Se devi autenticarti su qualsiasi sito Web utilizzando il comando curl, dovrai specificare l'utente e la password nell'URL stesso. Ma se imposti il nome utente, cURL richiederà una password.
Esegui il comando curl sottostante, sostituendo [email protected]:password con il tuo nome utente e password e l'URL del sito web con il tuo per autenticarti.
curl -u [email protected]:password --basic
Download di file con nome originale o modificato
Il download di file o pacchetti potrebbe far parte della tua routine quotidiana come amministratore. Se è così, cURL ti farà sicuramente un favore. Il curl
comando, aggiunto con il -O
o -o
opzioni, ti consente di scaricare i file mantenendo l'originale o impostando un nome diverso.
Esegui i comandi seguenti per scaricare il pacchetto NGINX con il nome originale (-O
) come (*nginx-1.20.2.tar.gz*
) e con un nome diverso (-o
) come *mytar.gz*
.
# Downloads the NGINX package with the original name nginx-1.20.2.tar.gz
curl -O
# Downloads the NGINX package with the new name mytar.gz
curl -o mytar.gz
Ora, esegui il seguente comando per scaricare il pacchetto NGINX chiamato mytar2.gz. Ma questa volta vedrai solo una barra di avanzamento invece di vedere molti dettagli nell'output.
curl -# -o mytar.gz
Infine, esegui ls
comando seguente per elencare tutti i file nella directory corrente.
ls
Di seguito puoi verificare che nginx-1.20.2.tar.gz , mytar.gz e mytar2.gz i file esistono.
Impostazione del timeout di connessione
I siti Web a caricamento rapido sono sempre l'ideale e cURL ha un modo per testare la velocità con cui un utente può connettersi al tuo sito Web. Come? Impostando un timeout di connessione, dove il curl
comando tenta di connettersi a un sito Web entro un intervallo di tempo specifico.
L'impostazione di un timeout di connessione ti consente di determinare quanto tempo impiega un server per rispondere a una richiesta di dati che fai.
Esegui il comando seguente per provare a connetterti al sito adamtheautomator.com per 20
secondi prima del timeout della richiesta.
curl --connect-timeout 20 -I adamtheautomator.com
Di seguito puoi vedere che il -I
l'opzione ti consente di includere le intestazioni nell'output delle informazioni del sito web.
Recupero dei dati utilizzando la richiesta GET
Hai visto che l'impostazione del timeout della connessione fornisce informazioni su un sito Web nella sezione "Impostazione del timeout della connessione". Ma se queste informazioni non sono sufficienti, considera l'invio di una richiesta GET.
Esegui il comando curl riportato di seguito per utilizzare una richiesta HTTP GET (–get) e recuperare i dati dal sito Web https://adamtheautomator.com.
curl --get
Di seguito, puoi vedere la fonte effettiva del sito Web adamtheautomator.com.
Invio di una richiesta POST
Invece di ricevere dati, puoi anche inviare dati inviando una richiesta POST con il curl
comando. Il -d
consente di inviare i dati specificati in una richiesta POST al server HTTP come fa un browser quando un utente ha compilato un modulo HTML.
Esegui il seguente curl
comando per inviare una richiesta POST al ptsv2.com
sito.
curl -d "name=curl"
Ora vai su https://reqbin.com/ sul tuo browser web per verificare se il POST ha avuto successo.
Di seguito, noterai lo stato mostra (200 (OK), che significa che la richiesta è stata inviata correttamente.
Ricerca di definizioni di parole
Sapevi che puoi anche usare cURL come un dizionario? Sì! cURL consente di cercare definizioni di parole utilizzando il protocollo DICT. Molti termini relativi all'IT possono essere ricercati utilizzando il protocollo DICT, come clock, Ubuntu, RDP, ecc.
La sintassi del curl
comando che utilizza il protocollo DICT è il seguente:
curl [protocol:[dictionary_URL]:[word]
Esegui ogni comando seguente per cercare le definizioni delle parole dal dizionario disponibile sul sito Web pubblico dict.org
.
# Search word definitions for ubuntu
curl dict://dict.org/d:ubuntu
# Search word definitions for clock
curl dict://dict.org/d:clock
Come puoi vedere di seguito, la prima definizione di parola cerca ubuntu non è riuscito a trovare una risposta pertinente e ha restituito nessuna corrispondenza . Ma il secondo ha restituito un paio di definizioni per la parola orologio .
Test del protocollo HTTP2 del sito web
Il comando curl è senza dubbio adatto per il download, il caricamento e l'autenticazione di siti Web. Ma un'altra cosa che rende curl un ottimo strumento è che puoi verificare se un determinato URL supporta il nuovo protocollo HTTP/2.
Esegui il seguente comando curl per verificare se https://adamtheautomator.com/ il sito Web supporta il protocollo HTTPS (–http2).
curl -I --http2 -s | grep HTTP
Vedrai una risposta HTTP/2 200 nell'output come quella di seguito, il che significa che il sito utilizza il protocollo HTTP2.
Conclusione
cURL, sebbene sia uno strumento gratuito, include molte funzionalità. E in questo tutorial, hai sperimentato diversi esempi di prima mano sull'utilizzo di cURL in Linux. Che si tratti di scaricare file, autenticare siti Web, inviare richieste POST o GET, ecc., cURL non ti deluderà.
Perché non basarsi su questa nuova conoscenza? Forse impari come trasferire file ed eseguire comandi e script usando il comando curl? O scoprire i comandi dell'API cURL?