logo

Comando curl in Linux con esempi

Nel regno di Linux, padroneggiare la riga di comando è essenziale per un utilizzo efficiente e potente del sistema operativo. Tra i numerosi strumenti da riga di comando disponibili, ` curl`> si distingue come una delle utility più versatili e potenti. Originariamente sviluppato da Daniel Stenberg, ` curl`> è uno strumento da riga di comando e una libreria per il trasferimento di dati con URL. Supporta un'ampia gamma di protocolli, rendendolo uno strumento prezioso per recuperare, caricare e gestire i dati su Internet. In questa guida completa, approfondiamo le complessità del ` curl`> comando in Linux, esplorandone funzionalità, opzioni e vari casi d'uso.

Comprendere le nozioni di base

Al centro, ` curl`> è progettato per trasferire dati utilizzando vari protocolli come HTTP, HTTPS, FTP, SCP, SFTP e altri. La sua sintassi è semplice:

curl [options] [URL]>

Qui,



[> options> ]>possono essere vari flag della riga di comando che modificano il comportamento dicurl>

array Java di stringhe

[> URL> ]>specifica la posizione da cui recuperare o inviare i dati.

Recupero dei dati utilizzando il comando curl

Uno dei casi d'uso più comuni di ` curl`> sta recuperando dati da un URL. Potrebbe trattarsi di una semplice pagina HTML, un file o qualsiasi risorsa accessibile tramite un URL. Per recuperare una pagina Web utilizzando ` curl`> , fornisci semplicemente l'URL come argomento:

curl https://example.com>

Questo comando recupererà il contenuto HTML dell'URL specificato e lo visualizzerà nel terminale.

curl https://www.techcodeview.com>

Questo dovrebbe visualizzare il contenuto dell'URL sul terminale. La sintassi dell'URL dipende dal protocollo e più URL possono essere scritti come insiemi come:

curl http://site.{one, two, three}.com>

Gli URL con serie di sequenze numeriche possono essere scritti come:

curl ftp://ftp.example.com/file[1-20].webp'ltr'>Indicatore di avanzamento: curl visualizza un indicatore di avanzamento durante l'uso per indicare la velocità di trasferimento, la quantità di dati trasferiti, il tempo rimasto, ecc. curl -# -O ftp://ftp.example.com/file.zip curl --silent ftp: //ftp.example.com/file.zip Se preferisci una barra di avanzamento invece di un misuratore, puoi utilizzare l'opzione -# come nell'esempio sopra, o –silent se vuoi disabilitarlo completamente.    Esempio: gestione delle richieste HTTP utilizzando il comando curl Il comando `curl` consente di inviare richieste HTTP personalizzate con vari metodi come GET, POST, PUT, DELETE, ecc. Ad esempio, per inviare una richiesta GET: curl -X GET https:/ /api.example.com/resource Allo stesso modo, per inviare una richiesta POST con dati: curl -X POST -d 'key1=value1&key2=value2' https://api.example.com/resource In questo esempio, ` Il flag -d` viene utilizzato per specificare i dati da inviare con la richiesta. Scaricare file utilizzando curl Il comando curl è ampiamente utilizzato anche per scaricare file da Internet. Per scaricare un file è sufficiente fornire l'URL del file come argomento: -o: salva il file scaricato sul computer locale con il nome fornito nei parametri.    Sintassi: curl -o [nome_file] [URL...] Esempio: curl -o ciao.zip ftp://speedtest.tele2.net/1MB.zip Risultato: l'esempio precedente scarica il file dal server FTP e lo salva con il nome ciao.zip .   -O: questa opzione scarica il file e lo salva con lo stesso nome dell'URL.    Sintassi: curl -O [URL...] Esempio: curl -O ftp://speedtest.tele2.net/1MB.zip Output: caricamento di file Oltre a scaricare, ` curl` può anche caricare file su un server utilizzando vari protocolli. Ad esempio, per caricare un file tramite FTP: curl -T uploadfile.txt ftp://example.com/upload/ In questo esempio, ` -T uploadfile.txt` specifica il file da caricare (` uploadfile.txt` ) . Il flag ` -T` viene utilizzato per caricare un file con FTP. `curl` invia quindi il file specificato al server FTP situato in ` ftp://example.com/upload/` . Ciò è utile per automatizzare il caricamento di file o trasferire file tramite FTP dalla riga di comando. Gestione dell'autenticazione curl supporta vari metodi di autenticazione tra cui Basic, Digest e OAuth. È possibile specificare le credenziali di autenticazione utilizzando il flag ` -u`: curl -u nomeutente:password https://example.com/api Il flag ` -u` viene utilizzato per specificare le credenziali di autenticazione (` nomeutente:password` ). In questo esempio, 'curl' includerà queste credenziali nell'intestazione della richiesta quando si accede a ' https://example.com/api` . Viene comunemente utilizzato quando si accede a risorse protette o API che richiedono l'autenticazione. Esempi di comando Curl -C – Opzione: questa opzione riprende il download che è stato interrotto per qualche motivo. Ciò è utile quando il download di file di grandi dimensioni è stato interrotto.    Sintassi: curl -C - [URL...] Esempio: curl -C - -O ftp://speedtest.tele2.net/1MB.zip Output: –limit-rate Opzione: questa opzione limita il limite superiore della tariffa del trasferimento dati e lo mantiene attorno al valore specificato in byte.    Sintassi: curl --limit-rate [valore] [URL] Esempio: curl --limit-rate 1000K -O ftp://speedtest.tele2.net/1MB.zip Output: il comando limita il download a 1000K byte.   -u Opzione: curl fornisce anche opzioni per scaricare file da server FTP autenticati dall'utente.    Sintassi: curl -u {nomeutente}:{password} [URL_FTP] Esempio: curl -u demo:password -O ftp://test.rebex.net/readme.txt Output: -T Opzione: questa opzione aiuta a caricare un file sul server FTP.    Sintassi: curl -u {nome utente}:{password} -T {nome file} {Posizione_FTP} Se vuoi aggiungere un file FTP già esistente puoi usare l'opzione -a o –append.   Opzione –libcurl: questa opzione è molto utile dal punto di vista dello sviluppatore. Se questa opzione viene aggiunta a qualsiasi comando cURL, restituisce il codice sorgente C che utilizza libcurl per l'opzione specificata. È un codice simile all'implementazione della riga di comando.    Sintassi: curl [URL...] --libcurl [nome file] Esempio: curl https://www.techcodeview.com> log.html --libcurl code.c Risultato: l'esempio precedente scarica l'HTML e lo salva nel log .html e il codice nel file code.c. Il comando successivo mostra le prime 30 righe del codice.   Invio di posta: poiché curl può trasferire dati su diversi protocolli, incluso SMTP, possiamo utilizzare curl per inviare posta.    Sintassi: curl –url [URL SMTP] –mail-from [mail_mittente] –mail-rcpt [mail_destinatario] -n –ssl-reqd -u {email}:{password} -T [file di testo della posta] Protocollo DICT: Libcurl definisce il protocollo DICT che può essere utilizzato per ottenere facilmente la definizione o il significato di qualsiasi parola direttamente dalla riga di comando.    Sintassi: curl [protocollo:[URL_dizionario]:[parola] Esempio: curl dict://dict.org/d:overclock Output: Nota: ci sono una serie di altre opzioni fornite da cURL che possono essere controllate nella pagina principale. La libreria libcurl è stata portata in vari linguaggi di programmazione. Si consiglia di visitare il sito del singolo progetto per la documentazione. Conclusione In conclusione, padroneggiare la riga di comando in Linux è fondamentale per massimizzare l'efficienza e l'efficacia nella navigazione nel sistema operativo, con `curl` che emerge come uno strumento straordinario grazie alla sua versatilità e alle robuste capacità di trasferimento dei dati attraverso vari protocolli. Sviluppato da Daniel Stenberg, 'curl' facilita il recupero, il caricamento e la gestione dei dati su Internet. Questa guida ha offerto un'esplorazione approfondita delle funzionalità, delle opzioni e delle diverse applicazioni di cur l, evidenziandone l'indispensabilità per gli utenti Linux che cercano funzionalità ottimali della riga di comando.>