Entrambi curle wgetvengono utilizzati per il download di file, ecc. C'è qualche motivo per usarne uno rispetto all'altro?
Entrambi curle wgetvengono utilizzati per il download di file, ecc. C'è qualche motivo per usarne uno rispetto all'altro?
Risposte:
Dopo aver definito "uso corretto", utilizzare wget.
Perché? Ecco perchè:
Ricorsivo! Il principale punto di forza di wget rispetto all'arricciatura è la sua capacità di scaricare in modo ricorsivo, o anche semplicemente scaricare tutto ciò che viene indicato da una risorsa remota, sia essa una pagina HTML o un elenco di directory FTP.
Senza vergogna copiato da qui
curlbiblioteca . curlè alimentato da libcurl: una libreria multipiattaforma con un'API stabile che può essere utilizzata da tutti. Questa differenza è importante poiché crea un atteggiamento completamente diverso su come fare le cose internamente. È anche leggermente più difficile creare una libreria che un "semplice" strumento da riga di comando.
tubi . curlfunziona più come il tradizionale catcomando Unix , invia più roba a stdout, e legge di più da stdin"tutto è un tubo". wgetè più simile cp, usando lo stesso analogo.
Colpo singolo . curlè fatto essenzialmente per eseguire trasferimenti di dati a colpo singolo. Trasferisce solo gli URL specificati dall'utente e non contiene alcuna logica di download ricorsiva né alcun tipo di parser HTML.
Altri protocolli . curlsupporta FTP, FTPS, Gopher, HTTP, HTTPS, SCP, SFTP, TFTP, TELNET, DICT, LDAP, LDAPS, FILE, POP3, IMAP, SMB / CIFS, SMTP, RTMP e RTSP. Wget supporta solo HTTP, HTTPS e FTP.
Più portatile . curlcostruisce e funziona su molte più piattaforme di wget. Ad esempio: OS / 400, TPF e altre piattaforme "esotiche" che non sono cloni Unix diretti.
Altre librerie SSL e supporto SSL . curlpuò essere costruito con una su undici (11!) librerie SSL / TLS diverse e offre un maggiore controllo e un supporto più ampio per i dettagli del protocollo. curlsupporta l'inserimento di chiavi pubbliche.
HTTP auth . curlsupporta più metodi di autenticazione HTTP, in particolare su proxy HTTP: Basic, Digest, NTLM e Negotiate
CALZE . curlsupporta diverse versioni del protocollo SOCKS per l'accesso proxy
Bidirezionale . curloffre funzionalità di upload e invio. wgetoffre solo il semplice supporto POST HTTP.
Invio HTTP multipart / form-data , che consente agli utenti di eseguire "upload" HTTP e in generale di emulare i browser e di eseguire l'automazione HTTP in misura maggiore
curlsupporta gzipe gonfia la codifica dei contenuti e esegue la decompressione automatica
curl offre ed esegue la decompressione di HTTP con codifica di trasferimento, wget no
curl supporta HTTP / 2 e esegue connessioni dual-stack utilizzando Happy Eyeballs
Molto più attività per gli sviluppatori . Mentre questo può essere discusso, considero tre parametri qui: attività della mailing list, frequenza di commit del codice sorgente e frequenza di rilascio. Chiunque segua questi due progetti può vedere che il progetto curl ha un ritmo molto più alto in tutte queste aree, ed è stato così per oltre 10 anni. Confronta su openhub
wgetwgetè solo riga di comando. Non c'è biblioteca.
Ricorsivo ! wgetIl principale punto di forza rispetto all'arricciatura è la sua capacità di scaricare in modo ricorsivo, o anche solo di scaricare tutto ciò a cui si fa riferimento da una risorsa remota, che si tratti di una pagina HTML o di un elenco di directory FTP.
Più vecchio . wgetrisale al 1995, mentre curlpuò essere rintracciato non prima della fine del 1996.
GPL . wgetè 100% GPL v3. curl è concesso in licenza dal MIT.
GNU . wgetfa parte del progetto GNU e tutti i diritti d'autore sono assegnati a FSF. Il progetto curl è completamente autonomo e indipendente, senza alcuna organizzazione genitoriale con quasi tutti i diritti d'autore di proprietà di Daniel.
wgetnon richiede opzioni extra per scaricare semplicemente un URL remoto in un file locale, mentre curlrichiede -oo -O.
wget supporta l'elenco dei suffissi pubblici per la gestione dei domini dei cookie, curl no.
wget supporta solo GnuTLS o OpenSSL per il supporto SSL / TLS
wget supporta solo l'autent di base come unico tipo di autenticazione su proxy HTTP
wget non ha supporto SOCKS
La sua capacità di recuperare da un trasferimento interrotto prematuramente e continuare a scaricare non ha alcuna controparte in arricciatura.
wget può essere digitato usando solo la mano sinistra su una tastiera qwerty!
curl -C -download non viene interrotto?
wget can be typed in using only the left hand on a qwerty keyboard!, WTF ?? wget requires no extra options to simply download a remote URL to a local file, while curl requires -o or -O.
Ci sono molti strumenti che possono scaricare come curl, snarf, wget, pavuk, fget, fetch, lftp, aria2, HTTrackecc Usa secondo il vostro requisito e che funzione che si desidera utilizzare con il download. Controllare la tabella delle caratteristiche e utilizzare di conseguenza.
Ricciolo:
Wget:
Risorse importanti per maggiori informazioni:
Ecco una buona spiegazione curl vs Wget .
Tabella delle funzionalità: confronta le funzionalità cURL con altri strumenti di download
Dettaglio delle funzioni supportate per l'arricciatura: Funzioni: cosa può fare l'arricciatura
Dettaglio delle funzionalità supportate da wget : funzionalità di wget
Hanno molte funzionalità in comune, ma curlha più opzioni. Perché wgeta volte può essere sufficiente sfogliare man wget, ma per curlho bisogno di studiare questa pagina web in un browser. Credo che qualsiasi cosa possa fare il tuo browser, curlanche.
C'è un'altra differenza tra wget e curl che penso sia significativa.
Wget è un'utilità della riga di comando autonoma destinata principalmente al recupero di contenuti Internet in modo rapido e semplice.
D'altra parte, Curl è fondamentalmente un front-end terminale per la potente libreria libcurl. Libcurl offre un potente set di strumenti per lavorare con gli URL in tutte le loro forme e varianti ed è disponibile per quasi tutte le lingue e piattaforme. Fondamentalmente Curl ti dà la possibilità di usare questa libreria negli script di shell.