Ambos curl
e wget
são de uso para baixar arquivos, etc. Existe alguma razão para usar um sobre o outro?
Ambos curl
e wget
são de uso para baixar arquivos, etc. Existe alguma razão para usar um sobre o outro?
Respostas:
Depois de definir "uso adequado", use wget
.
Por quê? É por isso:
Recursivo! O principal ponto forte do wget, em comparação com o curl, é a capacidade de fazer o download recursivamente, ou até mesmo fazer o download de tudo o que é referido a partir de um recurso remoto, seja uma página HTML ou uma lista de diretórios FTP.
Desavergonhado copiado daqui
curl
biblioteca . curl
é alimentado por libcurl
- uma biblioteca de plataforma cruzada com uma API estável que pode ser usada por todos e por todos. Essa diferença é grande, 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 cat
comando tradicional do Unix , envia mais coisas para stdout
e lê mais de stdin
uma maneira "tudo é um cachimbo". wget
é mais como cp
usar o mesmo analógico.
Um tiro . curl
é basicamente feito para fazer transferências de dados de uma só vez. Ele transfere apenas os URLs que o usuário especifica e não contém nenhuma 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
cria e roda em muito mais plataformas do que wget
. 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 a SSL . curl
pode ser construído com uma das onze (11!) bibliotecas SSL / TLS diferentes e oferece mais controle e suporte mais amplo aos detalhes do protocolo. curl
suporta fixação de chave pública.
Autenticação HTTP . curl
suporta mais métodos de autenticação HTTP, especialmente em proxies HTTP: Básico, Digest, NTLM e Negociar
MEIAS . curl
suporta várias versões do protocolo SOCKS para acesso ao proxy
Bidirecional . curl
oferece recursos de upload e envio. wget
oferece apenas suporte HTTP POST simples.
Envio multipart / dados de formulário HTTP , que permite aos usuários fazer "upload" de HTTP e, em geral, emular navegadores e automatizar HTTP em uma extensão mais ampla
curl
suporta gzip
e aumenta a codificação de conteúdo e descompacta automaticamente
curl
oferece e executa a descompactação do HTTP codificado por transferência, o wget não
curl
suporta HTTP / 2 e conecta pilha dupla usando Happy Eyeballs
Muito mais atividade do desenvolvedor . Embora isso possa ser debatido, considero três métricas aqui: atividade da lista de correspondência, frequência de confirmação do código-fonte e frequência de liberação. Qualquer pessoa que siga esses dois projetos pode ver que o projeto curl tem um ritmo muito mais alto em todas essas áreas, e isso ocorre há mais de 10 anos. Compare no openhub
wget
wget
é apenas linha de comando. Não há biblioteca.
Recursivo ! wget
O lado mais importante do comparado com o curl é a capacidade de baixar recursivamente, ou até mesmo baixar tudo o que é referido a partir de um recurso remoto, seja uma página HTML ou uma lista de diretórios FTP.
Mais velhos . wget
tem traços desde 1995, enquanto curl
pode ser rastreado até o final de 1996.
GPL . wget
é 100% GPL v3. 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 independente e independente, sem a organização dos pais, com quase todos os direitos autorais de propriedade de Daniel.
wget
não requer opções extras para simplesmente baixar um URL remoto para um arquivo local, enquanto curl
requer -o
ou -O
.
wget
suporta a lista pública de sufixos para manipular domínios de cookies, a ondulação não.
wget
suporta apenas GnuTLS ou OpenSSL para suporte a SSL / TLS
wget
suporta apenas autenticação básica como o único tipo de autenticação no proxy HTTP
wget
não tem suporte a SOCKS
Sua capacidade de recuperar-se de uma transferência interrompida prematuramente e continuar o download não tem contrapartida na ondulação.
wget
pode ser digitado usando apenas a mão esquerda em um teclado qwerty!
curl -C -
continuando o download interrompido?
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.
Existem muitas ferramentas que podem ser baixados como curl
, snarf
, wget
, pavuk
, fget
, fetch
, lftp
, aria2
, HTTrack
etc. Use-o de acordo com suas necessidades e que apresentam você quiser usar junto com o download. Verifique a tabela de recursos e use de acordo.
Ondulação :
Wget:
Recursos importantes para mais informações:
Aqui está uma boa explicação curl vs Wget .
Tabela de recursos: Compare os recursos cURL com outras ferramentas de download
Detalhe dos recursos suportados pelo curl: Recursos - o que o curl pode fazer
Detalhe dos recursos suportados pelo wget : recursos do wget
Eles têm muita funcionalidade em comum, mas curl
tem mais opções. Por wget
vezes, pode ser suficiente folhear man wget
, mas curl
preciso estudar esta página da Web em um navegador. Acredito que qualquer coisa que seu navegador possa fazer, também curl
pode fazer.
Há outra diferença entre wget e curl, que eu acho significativa.
O Wget é um utilitário de linha de comando independente que se destina principalmente à recuperação de conteúdo da Internet de forma rápida e simples.
Curl, por outro lado, é basicamente um front end terminal para a poderosa biblioteca libcurl. O Libcurl fornece um conjunto muito poderoso de ferramentas para trabalhar com URLs em todas as suas formas e sabores, e está disponível para quase todos os idiomas e plataformas. O Curl basicamente oferece a capacidade de usar essa biblioteca em scripts de shell.