curlbuduje i działa na większej liczbie platform niż wget.
wgetjest wydany na licencji copyleft wolnego oprogramowania (GNU GPL). curljest wydany na podstawie licencji na bezpłatne oprogramowanie (pochodna MIT).
curloferuje możliwości wysyłania i wysyłania. wgetoferuje tylko zwykłą obsługę HTTP POST.
Możesz zobaczyć więcej szczegółów pod następującym linkiem:
Dzięki, właśnie o to się zastanawiałem przez kilka godzin. Użyłem wget, aby zrobić rekurencyjnego pająka na stronie, wydaje się być zatrzymany na stronie, która zawiera jedenaście bazillionowych linków. W rzeczywistości działa przy 100% procesorze na jednym rdzeniu. Miałem nadzieję, że jest coś lepszego, co zrobi z tą nowomodną wielordzeniową rzeczą, o której słyszałem.
Brian Topping
1
Jedną z rzeczy wget, które zostały pominięte w tej odpowiedzi, jest możliwość tworzenia kopii lustrzanych http (lub „spidering”). curljest bardzo dobra w tym, co robi, ale sama w sobie nie jest przeznaczona do tworzenia kopii lustrzanej strony internetowej.
jsbillings
A co z wput będącym aliasem obsługującym ftp.
mckenzm
1
Wyrażenia te nie mają sensu: „i wszystkie prawa autorskie są przypisane FSF”, „jest całkowicie samodzielny i niezależny, bez organizacji rodzicielskiej”. Oczywiste jest, że autor cURL jest jego właścicielem praw autorskich. Oczywiste jest, że autor wget jest właścicielem praw autorskich do niego. Ale oba są darmowe, jak w oprogramowaniu wolności. Zamiast tego możesz powiedzieć, że wget jest objęty licencją copyleft, a cURL na licencji permissive.
Valerio Bozz
1
@ValerioBozz: Właściwie nie. Zarówno curl, jak i wget są projektami społecznościowymi. Dzięki curl każda osoba jest właścicielem praw autorskich do kodu, który przekazuje. W Wget, podobnie jak w przypadku większości innych programów GNU, różni autorzy przekazują swoje prawa autorskie do FSF. Oznacza to, że nie posiadają już tego kodu. Ma to na celu umożliwienie FSF ścisłego egzekwowania copyleft i, w razie potrzeby, ponownej licencji na kod.
darnir
57
W kilku słowach:
wget to narzędzie do pobierania plików z serwerów
curl to narzędzie, które pozwala wymieniać żądania / odpowiedzi z serwerem
wget
Wget pozwala tylko pobierać pliki z HTTP/ HTTPSlub FTPserwera. Dajesz mu link, a on automatycznie pobiera plik, do którego prowadzi link. Tworzy żądanie automatycznie.
kędzior
Zwijanie w przeciwieństwie do wget pozwala zbudować żądanie, jak chcesz . Daje to dużą swobodę użytkownikowi i stanowi niesamowite narzędzie do debugowania. Dodaj do tego drugą kluczową różnicę między nimi: mnóstwo obsługiwanych protokołów. Curl podpory FTP, FTPS, Gopher, HTTP, HTTPS, SCP, SFTP, TFTP, Telnet, DICT, LDAP, LDAPS, IMAP, POP3, SMTP, RTSPi URI. Połącz te dwa kluczowe punkty, aby uzyskać niesamowite narzędzie do testowania protokołów, testowania konfiguracji serwera itp.
Jak wielu mówi, możesz pobrać plik za pomocą curl. Jest to jednak przydatne tylko wtedy, gdy chcesz pobrać plik z serwera, który używa protokołu, który nie obsługuje wget.
W rzeczywistości wgetrównież następuje przekierowanie, a następnie zapisuje odpowiedź w przeciwieństwie do curl. Oba mogą osiągnąć odwrotność do domyślnego zachowania wget -qO - http://google.co.uk/ lubcurl http://google.co.uk/ > index.html
Matt
1
@mtm curl http://google.co.uk/ > index.htmlnie korzysta jednak z wbudowanej funkcjonalności. W każdym razie głównym rozróżnieniem jest cel, dla którego każde narzędzie zostało stworzone. Nie można zaprzeczyć, że narzędzia ewoluują i wiele razy odbiegają od początkowej trajektorii.
Pithikos
1
@mtm curl http://google.co.uk -o index.htmlużyłby wewnętrznych elementów curl zamiast przekierowania wyjścia powłoki za pomocą >.
Petrus Repo
19
W rzeczywistości główna różnica polega na tym, że curlzawiera bibliotekę ( libcurl), a ta biblioteka jest powszechnie używana przez inne aplikacje. wgetjest samodzielny.
curl
autora: daniel.haxx.se/docs/curl-vs-wget.htmlOdpowiedzi:
Główne różnice to:
wget
główną zaletą w porównaniu zcurl
możliwością pobierania rekurencyjnego.wget
jest tylko wierszem poleceń. Nie ma lib ani nic, alecurl
funkcje są wspierane przez libcurl.curl
wspieraFTP
,FTPS
,HTTP
,HTTPS
,SCP
,SFTP
,TFTP
,TELNET
,DICT
,LDAP
,LDAPS
,FILE
,POP3
,IMAP
,SMTP
,RTMP
iRTSP
.wget
wspieraHTTP
,HTTPS
iFTP
.curl
buduje i działa na większej liczbie platform niżwget
.wget
jest wydany na licencji copyleft wolnego oprogramowania (GNU GPL).curl
jest wydany na podstawie licencji na bezpłatne oprogramowanie (pochodna MIT).curl
oferuje możliwości wysyłania i wysyłania.wget
oferuje tylko zwykłą obsługę HTTP POST.Możesz zobaczyć więcej szczegółów pod następującym linkiem:
curl vs Wget
źródło
wget
, które zostały pominięte w tej odpowiedzi, jest możliwość tworzenia kopii lustrzanych http (lub „spidering”).curl
jest bardzo dobra w tym, co robi, ale sama w sobie nie jest przeznaczona do tworzenia kopii lustrzanej strony internetowej.W kilku słowach:
wget
to narzędzie do pobierania plików z serwerówcurl
to narzędzie, które pozwala wymieniać żądania / odpowiedzi z serweremwget
Wget pozwala tylko pobierać pliki z
HTTP
/HTTPS
lubFTP
serwera. Dajesz mu link, a on automatycznie pobiera plik, do którego prowadzi link. Tworzy żądanie automatycznie.kędzior
Zwijanie w przeciwieństwie do wget pozwala zbudować żądanie, jak chcesz . Daje to dużą swobodę użytkownikowi i stanowi niesamowite narzędzie do debugowania. Dodaj do tego drugą kluczową różnicę między nimi: mnóstwo obsługiwanych protokołów. Curl podpory
FTP
,FTPS
,Gopher
,HTTP
,HTTPS
,SCP
,SFTP
,TFTP
,Telnet
,DICT
,LDAP
,LDAPS
,IMAP
,POP3
,SMTP
,RTSP
iURI
. Połącz te dwa kluczowe punkty, aby uzyskać niesamowite narzędzie do testowania protokołów, testowania konfiguracji serwera itp.Jak wielu mówi, możesz pobrać plik za pomocą curl. Jest to jednak przydatne tylko wtedy, gdy chcesz pobrać plik z serwera, który używa protokołu, który nie obsługuje wget.
źródło
wget
również następuje przekierowanie, a następnie zapisuje odpowiedź w przeciwieństwie docurl
. Oba mogą osiągnąć odwrotność do domyślnego zachowaniawget -qO - http://google.co.uk/
lubcurl http://google.co.uk/ > index.html
curl http://google.co.uk/ > index.html
nie korzysta jednak z wbudowanej funkcjonalności. W każdym razie głównym rozróżnieniem jest cel, dla którego każde narzędzie zostało stworzone. Nie można zaprzeczyć, że narzędzia ewoluują i wiele razy odbiegają od początkowej trajektorii.curl http://google.co.uk -o index.html
użyłby wewnętrznych elementów curl zamiast przekierowania wyjścia powłoki za pomocą>
.W rzeczywistości główna różnica polega na tym, że
curl
zawiera bibliotekę (libcurl
), a ta biblioteka jest powszechnie używana przez inne aplikacje.wget
jest samodzielny.źródło