GNU/Linux >> Linux Esercitazione >  >> Linux

Qual è la differenza tra curl e Wget?

curl e Wget sono le due utilità più comuni per effettuare richieste ai server dalla riga di comando di Linux.

Se ti ritrovi a scambiare tra i due, uno sta solo stuzzicando la tua curiosità, o hai appena visto una buona vecchia discussione online a riguardo, ci sono alcune differenze che potrebbero essere utili da conoscere.

Anche se si spera che l'esperienza dell'uno o dell'altro sia fluida, conoscere le differenze di base tra i due ti aiuterà a comprendere meglio l'utilizzo di entrambi (e, si spera, a risolvere qualsiasi cosa dalle discussioni piene di domande di cui sopra).

Principale differenza tra curl e Wget:come viene salvato l'output

La singola differenza più visibile curl e Wget è che per impostazione predefinita Wget salva la pagina Web richiesta sul sistema, mentre curl la visualizza nell'output del terminale ma non la salva.

Iniziamo con un semplice esempio di richiesta alla home page di Arch Linux, https://archlinux.org .

Faremo prima la richiesta con curl.

curl 'https://archlinux.org'

Nota come il comando curl restituisce il contenuto grezzo della pagina web? È come se avessi fatto clic sul pulsante Visualizza sorgente su un browser web.

Proviamo a recuperare lo stesso sito Web con Wget:

wget 'https://archlinux.org'

Guarda quello, Wget non ha mostrato il contenuto della pagina web come ha fatto curl. Ma se Wget non l'ha mostrato, dove l'ha fatto lo ha messo?

È qui che entra in gioco la prima differenza principale tra i due programmi.

Per impostazione predefinita, Wget inserisce il contenuto del sito Web in un file denominato index.html :

Puoi quindi vedere il contenuto effettivo del file eseguendo cat index.html , che produrrebbe lo stesso output che hai visto con il curl comando:

Se vuoi salvare il file con curl, devi usare il -o opzione:

curl -o <output_file> <web_URL>

Altre differenze notevoli

Oltre a ciò, questa è praticamente l'unica differenza che probabilmente noterai quando usi curl e Wget. Ce ne sono alcuni altri che potrebbero interessare, ma probabilmente non influenzeranno troppo l'utilizzo di nessuno dei due strumenti, se non del tutto, come utente finale.

Supporto

curl è molto più utilizzato di Wget, essendo utilizzato in ambienti come telefoni cellulari, computer (inclusi sistemi operativi come Windows e macOS) e persino dispositivi Internet delle cose come smartwatch, frigoriferi intelligenti e altri oggetti simili.

Utilizzo sviluppatore

Questa parte successiva riguarda principalmente gli sviluppatori. Curl ha librerie per supportare le richieste di rete in linguaggi di programmazione come C, mentre wget è anche strettamente una riga di comando e non funzionerà molto bene se è necessario interagire con esso da un linguaggio di programmazione.

Parte di ciò si ricollega al motivo precedente e contribuisce al motivo per cui curl è ampiamente utilizzato in diversi tipi di ambienti e dispositivi.

Conclusione

E questo è tutto! Si spera che ora tu abbia visto che le differenze tra i due sono molto più piccole di quanto alcuni potrebbero far credere.

Se mai decidessi di scegliere uno strumento a lungo termine, consiglierei sicuramente curl, essendo quello che uso nei miei progetti ed è solo molto più ampiamente utilizzato di Wget.

Vuoi un resoconto più completo tra i due? Dai un'occhiata all'articolo curl vs Wget di Daniel Stenberg (creatore di curl), che tratta un sacco di cose più avanzate che differiscono tra i due strumenti.


Linux
  1. Qual è la differenza tra InnoDB e MyISAM?

  2. Qual è la differenza tra thread NPTL e POSIX?

  3. Qual è la differenza tra strtok_r e strtok_s in C?

  4. Qual è la differenza tra adduser e useradd?

  5. Qual è la differenza tra unlink e rm?

Qual è la differenza tra Linux e Unix?

Qual è la differenza tra Login e Non-Login Shell

Qual è la differenza tra il comando apt e apt-get?

Che cos'è un hypervisor? Qual è la differenza tra il tipo 1 e 2?

Qual è la differenza tra $(CC) e $CC?

Qual è la differenza tra route e ip route?