I comandi *nix curl e wget sono utili per accedere agli URL senza ricorrere a un browser. Entrambi i comandi consentono di trasferire dati da un server di rete, con curl essendo il più robusto dei due. Puoi usarne uno qualsiasi per automatizzare i download da vari server.
Il comando arricciatura
Come accennato, il curl comando consente di trasferire i dati da un server di rete, ma consente anche di spostare i dati su un server di rete. Oltre a HTTP, puoi utilizzare altri protocolli, inclusi HTTPS, FTP, POP3, SMTP e Telnet. Gli amministratori di solito si affidano a curl per interagire con le API utilizzando i metodi DELETE, GET, POST e PUT, come spiegato qui.
La sintassi per curl è abbastanza semplice a prima vista. Ecco un esempio:
$ curl http://www.example.com/help.txt Opzioni arricciatura
Puoi fornire varie opzioni alla sintassi dei comandi:
curl [options] [url]
Sono le opzioni che fanno curl così robusto. Di seguito sono elencate alcune delle opzioni disponibili utilizzate con curl ed esempi del loro utilizzo.
-a, --append
Quando carichi un file, questa opzione ti consente di aggiungere il file di destinazione invece di sovrascriverlo (FTP, SFTP).
$ curl --append file.txt ftp://ftp.example.com/file.txt --timeout connessione
Il --connect-timeout l'opzione imposta il tempo massimo in secondi che curl può utilizzare per effettuare la connessione al server remoto. Questa opzione è utile per evitare che la connessione si concluda troppo rapidamente e per ridurre al minimo la quantità di tempo in cui si desidera che il comando tenti di connettersi.
$ curl --connect-timeout 600 http://www.example.com/ --server-dns
Questa opzione ti consente di elencare i server DNS curl dovrebbe usare invece dell'impostazione predefinita del sistema. Questo elenco può essere utile durante la risoluzione dei problemi DNS o se è necessario risolvere un indirizzo su un server dei nomi specifico.
$ curl --dns-servers 8.8.8.8 http://www.example.com/ --http3
Puoi specificare in modo specifico a curl di utilizzare il protocollo http3 per connettersi all'host e alla porta forniti con un URL https. --http2 e --http1.1 funzionano allo stesso modo e possono essere utilizzati per verificare un server web.
$ curl --http3 http://www.example.com:8080/ --output
Se devi recuperare un file da un server remoto tramite un URL, --output è un modo semplice per salvare il file in locale.
$ curl http://www.example.com/help.txt --output file.txt --barra di avanzamento
Questa opzione mostra lo stato di avanzamento del trasferimento del file se combinata con il --output opzione.
$ curl --progress-bar http://www.example.com/help.txt --output file.txt --sslv2
Come con HTTP, puoi specificare in modo specifico a curl di utilizzare un'opzione SSL specifica per il comando a cui connettersi e in questo caso stiamo specificando la versione 2. --ssl specifica che deve essere utilizzato SSL e --sslv3 specifica SSL versione 3. Nota:sslv2 e sslv3 sono considerati legacy dal manutentore sebbene ancora disponibili.
$ curl --sslv2 https://www.example.com/ --prolisso
Il --verbose opzione con curl è utile per eseguire il debug e visualizzare cosa sta succedendo durante la chiamata all'URL.
$ curl --verbose http://www.example.com Il comando wget
A differenza di curl , il wget il comando è esclusivamente per il recupero di informazioni da un server remoto. Per impostazione predefinita, le informazioni ricevute vengono salvate con lo stesso nome dell'URL fornito.
Ecco un esempio del wget di base sintassi:
$ wget http://www.example.com/help.txt wget Opzioni
Come curl , puoi fornire varie opzioni al tuo wget sintassi del comando:
wget [option] [url] --dns-servers=INDIRIZZI
Puoi specificare uno o più server DNS specifici da utilizzare quando utilizzi wget per accedere a un server remoto. La sintassi, tuttavia, è diversa se l'opzione e gli indirizzi del server dei nomi sono uniti con un =.
$ wget --dns-servers=8.8.8.8 http://www.example.com -O
Per salvare un file con un nuovo nome quando si utilizza wget , utilizza il --output-document opzione, o più semplicemente -O .
$ wget http://www.example.com/help.txt -O file.txt --progress=tipo
Con wget , è possibile fornire un tipo (punto o barra) per determinare l'immagine ASCII della barra di avanzamento. Se un tipo non è specificato, verrà impostato automaticamente su punto.
$ wget --progress=dot http://www.example.com Concludi
Il curl e wget i comandi possono essere molto utili se aggiunti agli script per scaricare automaticamente i pacchetti RPM o altri file. Questo post tocca solo alcune delle caratteristiche più comuni di ciò che questi comandi possono fare. Controlla le relative pagine man per un elenco completo delle opzioni disponibili per entrambi curl e wget .
[ Vuoi testare le tue capacità di amministratore di sistema? Fai una valutazione delle abilità oggi. ]