Obrigado, é exatamente isso que estou pensando há algumas horas. Eu costumava fazer o wget para fazer uma aranha recursiva em um site, parece parado em uma página que tem onze bilhões de links. A realidade é que ele está rodando com 100% da CPU em um núcleo. Estava esperando que houvesse algo melhor que fizesse aquela coisa multicore nova e variada da qual ouvi falar.
Brian Topping
1
Uma das coisas wgetque deixa de fora dessa resposta é a capacidade de espelhamento http (ou 'spidering'). curlé muito bom no que faz, mas por si só não se destina a ser usado para espelhar um site.
Jsbillings
E quanto ao wput ser um alias, suportando ftp.
Mckenzm
1
Essas frases não fazem sentido: "e todos os direitos autorais são atribuídos à FSF", "é totalmente independente e independente, sem a organização dos pais". É óbvio que o autor do cURL é o proprietário dos direitos autorais. É óbvio que o autor do wget é o proprietário dos direitos autorais. Mas ambos são gratuitos como no software da liberdade. Você pode dizer que o wget está sob uma licença copyleft e cURL sob uma licença permissiva.
Valerio Bozz
1
@ValerioBozz: Na verdade não. Curl e wget são projetos comunitários. Com o curl, cada pessoa possui os direitos autorais do código que contribui. Com o Wget, como na maioria dos outros programas GNU, os vários autores cedem seus direitos autorais à FSF. Ou seja, eles não possuem mais esse código. Isso permite que o FSF aplique rigorosamente o copyleft e renove o código, se necessário.
darnir
57
Em poucas palavras:
wget é uma ferramenta para baixar arquivos de servidores
curl é uma ferramenta que permite trocar solicitações / respostas com um servidor
wget
O Wget apenas permite baixar arquivos de um HTTP/ HTTPSou FTPservidor. Você atribui um link e ele baixa automaticamente o arquivo para onde o link aponta. Ele cria a solicitação automaticamente.
ondulação
A ondulação em contraste com o wget permite criar a solicitação como você deseja . Isso dá muita liberdade ao usuário e cria uma incrível ferramenta de depuração. Acrescente a isso a outra diferença principal entre os dois: a infinidade de protocolos suportados. Suportes onda FTP, FTPS, Gopher, HTTP, HTTPS, SCP, SFTP, TFTP, Telnet, DICT, LDAP, LDAPS, IMAP, POP3, SMTP, RTSPe URI. Combine esses dois pontos-chave e você terá uma ferramenta incrível para testar protocolos, testar a configuração do servidor, etc.
Como muitos dizem, você pode baixar um arquivo com ondulação. No entanto, isso só é útil se você quiser baixar um arquivo de um servidor que usa um protocolo que o wget não suporta.
Na verdade, wgettambém segue o redirecionamento e salva a resposta diferente curl. Ambos podem alcançar o oposto ao comportamento padrão wget -qO - http://google.co.uk/ oucurl http://google.co.uk/ > index.html
Matt
1
O @mtm curl http://google.co.uk/ > index.htmlnão está usando uma funcionalidade embutida. De qualquer forma, a principal distinção é o objetivo para o qual cada ferramenta foi feita. Não há como negar que as ferramentas evoluem e muitas vezes se desviam de sua trajetória inicial.
Pithikos
1
O @mtm curl http://google.co.uk -o index.htmlusaria os internos do curl em vez do redirecionamento de saída do shell com >.
Petrus Repo
19
Na verdade, a principal diferença é que curlinclui uma biblioteca ( libcurl) e essa biblioteca é amplamente usada por outros aplicativos. wgeté autônomo.
curl
autor: daniel.haxx.se/docs/curl-vs-wget.htmlRespostas:
As principais diferenças são:
wget
O principal lado forte do comparado comcurl
a capacidade de fazer o download recursivamente.wget
é apenas linha de comando. Não há lib ou qualquer coisa, mascurl
os recursos são alimentados por libcurl.curl
suportaFTP
,FTPS
,HTTP
,HTTPS
,SCP
,SFTP
,TFTP
,TELNET
,DICT
,LDAP
,LDAPS
,FILE
,POP3
,IMAP
,SMTP
,RTMP
eRTSP
.wget
suportaHTTP
,HTTPS
eFTP
.curl
constrói e roda em mais plataformas quewget
.wget
é lançado sob uma licença copyleft de software livre (a GNU GPL).curl
é lançado sob uma licença permissiva de software livre (um derivado do MIT).curl
oferece recursos de envio e envio.wget
oferece apenas suporte HTTP POST simples.Você pode ver mais detalhes no seguinte link:
curl vs Wget
fonte
wget
que deixa de fora dessa resposta é a capacidade de espelhamento http (ou 'spidering').curl
é muito bom no que faz, mas por si só não se destina a ser usado para espelhar um site.Em poucas palavras:
wget
é uma ferramenta para baixar arquivos de servidorescurl
é uma ferramenta que permite trocar solicitações / respostas com um servidorwget
O Wget apenas permite baixar arquivos de um
HTTP
/HTTPS
ouFTP
servidor. Você atribui um link e ele baixa automaticamente o arquivo para onde o link aponta. Ele cria a solicitação automaticamente.ondulação
A ondulação em contraste com o wget permite criar a solicitação como você deseja . Isso dá muita liberdade ao usuário e cria uma incrível ferramenta de depuração. Acrescente a isso a outra diferença principal entre os dois: a infinidade de protocolos suportados. Suportes onda
FTP
,FTPS
,Gopher
,HTTP
,HTTPS
,SCP
,SFTP
,TFTP
,Telnet
,DICT
,LDAP
,LDAPS
,IMAP
,POP3
,SMTP
,RTSP
eURI
. Combine esses dois pontos-chave e você terá uma ferramenta incrível para testar protocolos, testar a configuração do servidor, etc.Como muitos dizem, você pode baixar um arquivo com ondulação. No entanto, isso só é útil se você quiser baixar um arquivo de um servidor que usa um protocolo que o wget não suporta.
fonte
wget
também segue o redirecionamento e salva a resposta diferentecurl
. Ambos podem alcançar o oposto ao comportamento padrãowget -qO - http://google.co.uk/
oucurl http://google.co.uk/ > index.html
curl http://google.co.uk/ > index.html
não está usando uma funcionalidade embutida. De qualquer forma, a principal distinção é o objetivo para o qual cada ferramenta foi feita. Não há como negar que as ferramentas evoluem e muitas vezes se desviam de sua trajetória inicial.curl http://google.co.uk -o index.html
usaria os internos do curl em vez do redirecionamento de saída do shell com>
.Na verdade, a principal diferença é que
curl
inclui uma biblioteca (libcurl
) e essa biblioteca é amplamente usada por outros aplicativos.wget
é autônomo.fonte