Depois de definir "uso adequado", use wget
.
Por quê? Por isso:
Recursivo! O principal lado strong do wget, comparado com o curl, é sua capacidade de fazer o download recursivamente, ou até mesmo baixar tudo o que é referido de um recurso remoto, seja uma página HTML ou uma listagem de diretório FTP.
Shameless copiado de aqui
curl
-
biblioteca .
curl
é ativado porlibcurl
- uma biblioteca de plataforma cruzada com uma API estável que pode ser usada por todos. Essa diferença é importante, pois cria uma atitude completamente diferente sobre como fazer as coisas internamente. Também é um pouco mais difícil criar uma biblioteca do que uma "mera" ferramenta de linha de comando. -
canos .
curl
funciona mais como o comando tradicional% Unixcat
, envia mais coisas parastdout
e lê mais destdin
em uma maneira "tudo é um canal".wget
é mais parecido comcp
, usando o mesmo análogo. -
Disparo único .
curl
é feito basicamente para transferências de dados individuais. Ele transfere apenas as URLs especificadas pelo usuário e não contém lógica de download recursiva nem qualquer tipo de analisador de HTML. -
Mais protocolos .
curl
suporta FTP, FTPS, Gopher, HTTP, HTTPS, SCP, SFTP, TFTP, TELNET, DICT, LDAP, LDAPS, ARQUIVO, POP3, IMAP, SMB / CIFS, SMTP, RTMP e RTSP. O Wget suporta apenas HTTP, HTTPS e FTP. -
Mais portátil .
curl
é compilado e executado em várias plataformas a mais do quewget
. Por exemplo: OS / 400, TPF e outras plataformas mais "exóticas" que não são clones simples do Unix. -
Mais bibliotecas SSL e suporte SSL .
curl
pode ser construído com uma de onze (11!) diferentes bibliotecas SSL / TLS, e oferece mais controle e suporte mais amplo para detalhes de protocolo.curl
suporta a fixação de chaves públicas. -
HTTP auth .
curl
suporta mais métodos de autenticação HTTP, especialmente sobre proxies HTTP: Básico, Digest, NTLM e Negociar -
SOCKS .
curl
suporta várias versões do protocolo SOCKS para acesso por proxy -
Bidirecional .
curl
oferece recursos de upload e envio.wget
apenas oferece suporte HTTP POST simples. -
HTTP envio multipart / form-data , que permite aos usuários fazer "upload" HTTP e em geral emular navegadores e fazer automação HTTP em maior extensão
-
curl
suportagzip
e insufla Content-Encoding e descompacta automática -
curl
oferece e executa a descompactação do HTTP codificado por transferência, wget não -
curl
suporta HTTP / 2 e faz conexões de pilha dupla usando Happy Eyeballs -
Muito mais atividade de desenvolvedor . Embora isso possa ser debatido, considero três métricas aqui: atividade da lista de e-mails, frequência de confirmação do código-fonte e frequência de lançamento. Qualquer um seguindo esses dois projetos pode ver que o projeto curl tem um ritmo muito mais alto em todas essas áreas, e tem sido assim por mais de 10 anos. Compare no openhub
wget
-
wget
é apenas a linha de comando. Não há biblioteca. -
Recursivo ! O principal lado strong do
wget
em relação ao curl é sua capacidade de fazer o download de forma recursiva, ou simplesmente baixar tudo o que é referido de um recurso remoto, seja uma página HTML ou uma listagem de diretório FTP. -
Mais antigo .
wget
tem rastreios até 1995, enquantocurl
pode ser rastreado não antes do final de 1996. -
GPL .
wget
é 100% GPL v3. O curl é licenciado pelo MIT. -
GNU .
wget
faz parte do projeto GNU e todos os direitos autorais são atribuídos à FSF. O projeto curl é totalmente autônomo e independente, sem nenhum tipo de organização, com quase todos os direitos autorais de propriedade de Daniel. -
wget
não requer opções extras para simplesmente fazer o download de um URL remoto para um arquivo local, enquantocurl
requer-o
ou-O
. -
wget
suporta a Lista de sufixos públicos para manipular domínios de cookies, o curl não. -
wget
suporta apenas GnuTLS ou OpenSSL para suporte a SSL / TLS -
wget
suporta somente a autenticação básica como o único tipo de autenticação sobre o proxy HTTP -
wget
não tem suporte a SOCKS -
Sua capacidade de recuperar-se de uma transferência interrompida prematuramente e continuar baixando não tem contrapartida em ondulação.
-
wget
pode ser digitado usando apenas a mão esquerda em um teclado qwerty!