GNU/Linux >> Linux Esercitazione >  >> Linux

Come usare CURL come un professionista in Linux

Esistono diversi modi per controllare e comunicare con i dati nel terminale Linux e curl è il modo migliore per farlo. curl è uno strumento da riga di comando che puoi utilizzare per trasferire dati da o verso un server. Puoi usare il curl comando per scaricare e caricare dati utilizzando uno qualsiasi dei protocolli supportati, che comprende FTP, HTTP, SFTP, HTTPS e SCP. Curl ha una gamma di funzionalità, tra cui la possibilità di limitare la larghezza di banda, riprendere i trasferimenti, autenticazione utente, supporto per server proxy e molto altro.

Di seguito è riportato l'elenco dei protocolli attualmente supportati da curl :

  • FTP/FTPS
  • Gopher
  • HTTP
  • HTTP/2
  • SMTP/SMTPS
  • IMAP/IMAPS
  • PMI
  • POP3/POP3S
  • RTMP
  • SCP
  • SFTP
  • RTSP
  • LDAP/LDAPS
  • Telnet e TFTP
  • RTSP

Ulteriori caratteristiche includono:

  • Autenticazione utente e password
    • Base
    • Digest Plain
    • NTLM
    • CRAM-MD5
    • Kerberos
    • Negozia
  • Cookie
  • Tunnel proxy
  • Riprendi l'operazione di trasferimento file
  • Certificati SSL
  • Caricamento moduli HTTP e HTTPS

wget e curl vengono spesso confrontati perché la loro funzionalità si sovrappone in una certa misura. Entrambi gli strumenti possono recuperare contenuti da Internet, ma wget ha più funzionalità come il web scraping, download ricorsivi ed è più intuitivo. wget è considerato un'opzione migliore se desideri solo scaricare file nel terminale.

Imparare il curl command basics ti aiuterà a caricare e scaricare file con procedure di autenticazione HTTP avanzate. Inoltre, wget supporta solo FTP e HTTP(S), mentre curl supporta molti più protocolli.

Si tratta di curl comando. Passiamo ora direttamente al terminale.

Installazione di 'curl' su Linux

Se non hai curl sul tuo sistema Linux, installalo utilizzando il comando seguente. In caso contrario, salta i passaggi di installazione e passa agli esempi.

sudo apt-get update
sudo apt-get install curl -y

Ora verifica il curl è disponibile sul tuo sistema controllandone la versione:

curl --version

Esempi di utilizzo di 'curl'

Possiamo fare molte cose interessanti usando curl . Diamo un'occhiata ad alcuni di loro.

Come ottenere l'IP esterno del server

C'è una risorsa straordinaria su Internet, che ti consente di ottenere il tuo indirizzo IP Internet - https://ifconfig.me (chiamato nella gloria della famosa utility di configurazione della rete Linux - ifconfig ).

Se hai inviato una richiesta HTTP a quel sito utilizzando curl, ti restituirà l'indirizzo IP esterno nel terminale sotto forma di semplice stringa:

curl https://ifconfig.me

Quindi, puoi facilmente inserire questo risultato nella variabile bash:

MY_EXTERNAL_IP=$(curl -s https://ifconfig.me)
echo $MY_EXTERNAL_IP

Ecco il risultato:

Qui, -s argomento consente di evitare l'output di avanzamento del download curl:

% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                  Dload  Upload   Total   Spent    Left  Speed
 100    12  100    12    0     0    181      0 --:--:-- --:--:-- --:--:--   181

Previsioni meteorologiche

Vuoi sentirti un hacker e visualizzare le informazioni meteo direttamente nel terminale? Puoi farlo usando curl !

curl http://wttr.in/LOCATION

Salvataggio dell'output "curl" in un file di testo

Puoi salvare l'output del curl comando al file specificato.

Ecco un esempio di salvataggio dell'output dell'API JSON (API demo di StarWars) nel file:

curl https://swapi.dev/api/planets/1/ -o Tatooine.json

curl è abbastanza intelligente da rilevare il download di file binari. Ecco un esempio di download di uno dei più popolari software open source di gestione dell'infrastruttura come codice Terraform (ulteriori informazioni su Terraform):

curl https://releases.hashicorp.com/terraform/0.15.0/terraform_0.15.0_linux_amd64.zip -o terraform_0.15.0_linux_amd64.zip

Download di più file

Puoi usare curl per scaricare più file alla volta. Basta aggiungere -o discutere tutte le volte che vuoi.

curl -o https://example.com/files/file-1 -o file-2 https://example.com/files/file-2 -o file-3 https://example.com/files/file-3

Limitazione della velocità di download

Un'altra utile funzionalità di curl è la limitazione della velocità di download del file. Puoi farlo usando il --limit-rate argomento e specificando la velocità:

curl --limit-rate 1M -O https://releases.hashicorp.com/terraform/0.15.0/terraform_0.15.0_linux_amd64.zip

La velocità indicata viene misurata in byte/secondo, a meno che non venga aggiunto un suffisso. L'aggiunta di "k" o "K" conteggerà il numero come kilobyte, "m" o M" lo renderà megabyte, mentre "g" o "G" lo renderà gigabyte.

Elenco URL di download

In questo esempio, scaricheremo tutti i file elencati nel file di testo. Per farlo devi usare una combinazione di xargs con curl comandi:

xargs -n 1 curl -O < urllists.txt

Ecco un output:

Autenticazione di base

Puoi usare il -u argomento per fornire nome utente e password per l'autenticazione HTTP di base (autenticazione di base):

curl -u username:password -O https://example.com/files/README

Come ottenere le intestazioni degli URL

Le intestazioni HTTP sono coppie chiave-valore separate da due punti che contengono informazioni come il tipo di contenuto della risorsa richiesta, l'agente utente, la codifica, ecc. Con la richiesta o la risposta, le intestazioni vengono trasferite tra il client e il server. Per ottenere le informazioni sulle intestazioni di qualsiasi sito web, usa -I argomento:

curl -I https://hands-on.cloud

Utilizzo dei cookie

Nelle successive richieste allo stesso sito web, potrebbe essere necessario utilizzare i cookie.

Per salvare i cookie ricevuti dal web server, utilizzare il seguente comando:

curl -s -o /dev/null -c google_cookies.txt 'https://www.google.com'

Questi argomenti sono:

  • -s – modalità silenziosa, curl non stampa le informazioni sull'avanzamento del download
  • -o /dev/null – non stampare l'output della pagina Web sul terminale
  • -c google_cookies.txt – salva le informazioni sui cookie nel file

Per utilizzare i cookie ricevuti dalla richiesta precedente, utilizzare il seguente comando:

curl -b google_cookies.txt 'https://www.google.com'

Verifica del supporto HTTP/2

Usa il -I , --http2 e -s opzioni insieme per verificare se il sito specificato supporta le intestazioni HTTP/2:

curl -I --http2 -s https://hands-on.cloud/ | grep HTTP

Riepilogo

In questo articolo, abbiamo trattato gli esempi più comunemente usati dell'utilizzo di curl comando. Ci auguriamo che questo articolo ti permetta di iniziare con questa potente utility. Se l'articolo ti piace, aiutaci a diffonderlo nel mondo!


Linux
  1. Come usare BusyBox su Linux

  2. Come uso cron in Linux

  3. Come usare TROVA in Linux

  4. Come usare Unzip in Linux

  5. Come usare il comando wget come un professionista nel terminale Linux

Come installare e utilizzare Curl su Debian 10 Linux

Come utilizzare lo schermo Linux

Come usare du Command in Linux

Come utilizzare il terminale Linux in Android

Come utilizzare il comando sysctl in Linux

5 suggerimenti per utilizzare il comando SS di Linux come un professionista