2009-03-11 7 views
113

Sono uguali o no? Si possono fare certe cose con l'una ma non con l'altra? Cosa sono quelli? O è, alla fine della giornata, una questione di familiarità?Cosa c'è di meglio, arricciatura o wget?

+2

MarcusQ aveva una risposta che suggeriva di guardare un paragone fatto dal curl: https://daniel.haxx.se/docs/curl-vs-wget.html. Sfortunatamente la risposta è stata cancellata invece di essere trasformata in commento. –

risposta

11

Entrambi offrono opzioni infinite, molte delle quali non ho mai usato. Tuttavia, tendo a preferire wget di più poiché per impostazione predefinita salva l'output dall'URL che si fornisce, perfetto per il download. Curl va dall'altra parte e visualizza l'output direttamente sul terminale (per impostazione predefinita).

39

Se si sta programmando, si consiglia di utilizzare arricciatura. Ha una bella API ed è disponibile per la maggior parte delle lingue. Shelling verso il sistema operativo per eseguire wget è un kludge e non dovrebbe essere fatto se si dispone di un'interfaccia API!

+3

Non ho mai affrontato alcun problema durante il bombardamento di script WGET in Perl per automatizzare il download di materiale. Tuttavia, con CURL, riscontro frequentemente ** errore 18 - trasferimento chiuso con dati di lettura in sospeso rimanenti ** (consultare http://stackoverflow.com/questions/1759956/curl-error-18-transfer-closed-with-outstanding- lettura dei dati rimanenti). Questo errore mi capita soprattutto durante il tentativo di usarlo negli script Perl, ma WGET non mi dà mai tali problemi. Non dovrebbe essere preso in considerazione? – SexyBeast

+5

Se stai usando perl dovresti davvero usare la libreria LWP (LWP :: Simple). È sempre più facile leggere i codici di risposta, assegnare callback funzionali e rilevare eccezioni piuttosto che analizzare l'output di testo di un altro processo. –

27

C'è qualche sovrapposizione di funzionalità. Mentre GNU wget è un pacchetto per il recupero di file tramite HTTP/FTP, curl trasferisce i dati con un singolo URL. Come indicato nel collegamento condiviso da MarkusQ, wget può scaricare in modo ricorsivo - vedere this comparison article per ulteriori dettagli dell'autore del ricciolo.

19

cURL è progettato per il trasferimento di dati in entrambe le direzioni mentre wget è per file di download non interattivi da una sorgente particolare. Ci sono some sovrapposizioni di funzionalità, ma sono not meant per fare esattamente the same things.

Dipende davvero da cosa si sta tentando di fare; per compiti più semplici come il download di file wget e cURL sono paragonabili, ma questo in realtà graffia solo la superficie di uno strumento.