Oltre a wget, curl è uno strumento principale nella cassetta degli attrezzi del guru di Linux durante il webscraping, la ricerca su Internet o intranet, il download di file, il test delle applicazioni e l'esecuzione di chiamate Web tramite uno strumento CLI.
Curl è attivamente sviluppato da una comunità di sviluppatori e ha la sua presenza sul web all'indirizzo https://curl.haxx.si/.
Una rapida occhiata ad alcuni punti salienti delle caratteristiche di Curl:
- supporto file di configurazione
- più URL in una singola riga di comando
- supporto per il "globbing" dell'intervallo: [0-13], uno, due, tre
- caricamento di più file su una singola riga di comando
- velocità di trasferimento massima personalizzata
- Download FTP, autenticazione
- Kerberos 5 (*14)
- attivo/passivo utilizzando PORT, EPRT, PASV o EPSV
- informazioni sulla dimensione del singolo file (confronta con HTTP HEAD)
- caricare tramite proxy http come HTTP PUT
- scarica/carica curriculum
- tutte le operazioni possono essere incanalate tramite un proxy http
- personalizzabile per recuperare la data di modifica del file
- SCP sia la password che l'autenticazione della chiave pubblica
- SFTP sia per la password che per l'autenticazione della chiave pubblica
- SFTP con comandi personalizzati inviati prima/dopo il trasferimento
- Negoziazione connessione TELNET
- opzioni telnet personalizzate
- TELNET stdin/stdout I/O
- supporto completo dell'URL LDAP
- SMBv1 su TCP e SSL
- Scarica e carica SMB
- Autenticazione SMB con NTLMv1
- Autenticazione SMTP: Plain, Login, CRAM-MD5, Digest-MD5, NTLM (*9), Kerberos 5, (*4) e External.
- inviare emails
- supporto per l'autenticazione della posta per l'inoltro affidabile da server a server
- SMTP più destinatari
- Autenticazione POP3: testo in chiaro, APOP e SASL
- Autenticazione basata su SASL: Plain, Login, CRAM-MD5, Digest-MD5, NTLM (*9), Kerberos 5 (*4) ed External.
- lista e-mail
- recuperare le e-mail
Per ulteriori funzionalità
Ultima versione di curl
L'ultima versione di curl a partire da gennaio 2020 è 7.68.0. I download sono pubblicati sul sito curl e il codice sorgente può essere trovato nella pagina github del progetto. Consulta il registro delle modifiche per le ultime note di rilascio di curl.
Come compilare e installare Curl dal sorgente
Per prima cosa prendi il codice sorgente per curl dalla pagina di download. Non lo mostrerò perché probabilmente hai bisogno di curl o wget per ottenere il codice sorgente e questo è ridondante da mostrare in questo tutorial. Guarda il software scaricato di seguito:
Inoltre dovrai installare GCC e rendere sulla tua macchina prima di iniziare, supponiamo che sia Debian o compatibile:
$ apt-get install gcc $ apt-get install make
Ora scompatta il software con il comando tar. Quindi inserisci la directory decompressa ed esegui configure, make e make install
$ tar xzvf curl-7.68.0.catrame.gz $ cd curl-7.68.0 $ ./configure $ make $ sudo make install
Se ricevi questo avviso, potresti avere 2 versioni di curl installate e devi assicurarti di utilizzare il libcurl che hai appena compilato con la versione di curl che hai compilato. Quindi imposta LD_LIBRARY_PATH per risolverlo:
ATTENZIONE: le versioni curl e libcurl non corrispondono. La funzionalità potrebbe essere compromessa. $ export LD_LIBRARY_PATH=/usr/local/lib
Ora puoi vedere che curl e libcurl hanno versioni corrispondenti e curl funziona come previsto.
Come installare Curl su Debian 10 o Ubuntu 19.10
Curl è installato di default sulle ultime versioni di Debian e Ubuntu. Se lo hai rimosso per qualche motivo, puoi installarlo con apt-get
sudo apt-get install curl
Come installare Curl su CentOS 8
Curl è installato di default sulle ultime versioni di CentoOS e Red Hat. Se lo hai rimosso per qualche motivo puoi installarlo con yum
sudo yum install curl
Scarica la pagina Web con l'esempio di curl
Scarichiamo una semplice pagina web con curl. Ecco la sintassi e l'esempio:
ricciolo https://linuxhint.com/mappa del sito.xml > out.pagina web esci.pagina web
Esempio di download multipagina
Puoi usare caratteri jolly e sintassi fantasiosa per scaricare molti file contemporaneamente. Ecco un esempio per scaricare da Linuxhint le pagine della mappa del sito che seguono uno schema regolare. L'opzione -O memorizzerà i file con nomi uguali alle pagine Web originali ma localmente.
curl -O https://linuxhint.com/sitemap-pt-post-2019-[01-12].xml
Conclusione
Curl è installato principalmente sulla maggior parte delle moderne distribuzioni Linux per impostazione predefinita, quindi accedervi è semplicissimo. Anche la compilazione o l'installazione del pacchetto è facile. Controlla le risorse di seguito per maggiori dettagli su tutte le abbondanti funzionalità di curl.
Altre risorse per i ricci
- Curl Manpage
- E-Book gratuito di Curl Tutto Curl
- Usa Curl in Bash Scripts per un utilizzo avanzato