Qual é a diferença entre wget vs curl?

What Is Difference Between Wget Vs Curl



Freqüentemente, precisamos baixar arquivos de servidores remotos para nossa máquina local. Em uma área de trabalho gráfica, podemos usar um navegador GUI e clicar no botão de download. No entanto, em um terminal, precisamos usar ferramentas desenvolvidas para o terminal. Ao baixar arquivos do terminal, quatro ferramentas geralmente surgem: ondulação , ombro , wget , e ária2 . Embora axel e aria2 possam não ser bem conhecidos, a maioria dos usuários de terminal conhece curl e wget.

Neste tutorial, veremos curl e wget, como começar e, o mais importante, as diferenças entre eles.







O que é cURL?

cURL é um utilitário de linha de comando gratuito e de código aberto que permite aos usuários transferir dados de uma máquina remota para outra com o mínimo ou nenhuma interação do usuário. O uso de CURL é predominante em dispositivos como roteadores, impressoras, telefones, tablets, reprodutores de mídia e muito mais.



Ele suporta download e upload usando protocolos como HTTP / HTTPS, FTP, SFTP, SCP, IMAP, LDAP / LDAPS, SMB / SMBS, TELNET, POP3, GOPHER e muitos, muitos mais.



cURL também fornece proxies, retomar transferências, autenticação de usuário, certificados SSL e muito mais.





O que é wget?

GNU Wget, comumente chamado de wget, é um utilitário de linha de comando gratuito para transferência de arquivos usando HTTP / HTTPS, FTP e FTPS. Ele fornece recursos como downloads recursivos, controle de largura de banda, retoma transferências abortadas, downloads em segundo plano, arquivos espelhados e diretórios recursivos e muito mais.

Como instalar cURL e Wget?

cURL e wget são ferramentas populares prontamente disponíveis nas principais distribuições Linux; se você não tiver nenhuma das ferramentas instaladas, use os comandos abaixo para instalar:



Debian / Ubuntu:

# install cURL

sudo apt-get installondulação

# instalar wget

sudo apt-get install wget

Arch / Manjaro:

# install cURL

sudopacman-Sondulação

# instalar wget

sudopacman-S wget

REHL / CentOS / Fedora:

# install cURL

sudo yum installondulação

sudodnfinstalarondulação

# instalar wget

sudo yum install wget

sudodnfinstalar wget

Como usar cURL e Wget (casos de uso de exemplo)?

Para garantir que você entenda as semelhanças e diferenças entre cURL e wget, é bom ver alguns exemplos:

Protocolos HTTP / HTTPS:

Ambos cURL e wget suportam protocolos HTTP e HTTPS. Portanto, se baixarmos um site como linuxhint.com:

https curl://linuxhint.com-oulinuxhint.html

https curl://linuxhint.com-oulinuxhint.html

%Total%Recebido%Xferd Velocidade Média Tempo Tempo Tempo Atual

Dload Upload Total Spent Left Speed

100256k0256k0 0166k0-: -: -0: 00: 01 -: -: - 166k

Por padrão, cURL imprimirá o conteúdo do recurso da web no terminal. Usamos o sinalizador -o para redirecionar a saída para um arquivo.

O seguinte se aplica ao wget:

wgethttps://linuxhint.com

--2021-06-2005:09:Quatro cinco- https://linuxhint.com/

Resolvendo linuxhint.com(linuxhint.com)... 104.21.58.234, 172.67.209.252,2606:4700:3033::6815: 3aea, ...

Conectando-se a linuxhint.com(linuxhint.com)|104.21.58.234|:443... conectado.

Solicitação HTTP enviada, aguardando resposta ...200OK

Comprimento: não especificado[texto/html]

Salvando em: ‘index.html’

index.html

[ <=> ]256,25 K 506 KB/sno0,5s

2021-06-vinte05:09:46 (506KB/s)- ‘index.html’ salvo[262396]

O Wget, por outro lado, salva o recurso solicitado em um arquivo.

É bom observar que ambas as ferramentas baixam o recurso. Os detalhes ls dos dois arquivos mostram os dois tamanhos de arquivo.

$ls -aindex.html linuxhint.html

-rw-rw-r-- 1linuxhint linuxhint262396Junho19 quinze:cinquentaindex.html

-rw-rw-r-- 1linuxhint linuxhint262396Junhovinte05:07 linuxhint.html

Protocolo FTP:

Ambos cURL e wget suportam downloads em protocolos FTP. No entanto, cURL suporta upload para ftp.

Use o comando abaixo para baixar arquivos do servidor FTP com wget:

wget --do utilizador= debian--senha= ’Debian’ ftp://192.168.0.112/backup.zst

wget --do utilizador= debian--senha='debian'ftp://192.168.0.112/backup.zst

--2021-06-2005:29: 06-- ftp://192.168.0.112/backup.zst

=>‘Backup.zst’

Conectando-se a 192.168.0.112:vinte e um... conectado.

Exploração madeireirano Comodebian ... Logadono!

==>SYST ... pronto. ==>PWD ... pronto.

==>TIPO I ... pronto. ==>CWD não é necessário.

==>SIZE backup.zst ... concluído.

==>PASV ... pronto. ==>RETR backup.zst ... concluído.

backup.zst

[ <=> ] 0--.- KB/sno0s

2021-06-vinte05:29: 06(0,00B/s)- ‘backup.zst’ salvo[0]

Usando curl, adicione o-vocêmarcar como:

ondulação-vocêdebian: debian ‘ftp://192.168.0.112/backup.zst ’-oubackup.zst

ondulação-vocêdebian: debian'ftp://192.168.0.112/backup.zst' -oubackup.zst

%Total%Recebido%Xferd Velocidade Média Tempo Tempo Tempo Atual

Dload Upload Total Spent Left Speed

0 0 0 0 0 0 0 0-: -: - -: -: - -: -: -0

Para fazer upload de umArquivoparaftpcom curl, usamos o-Topção como:

ondulação-vocêdebian: debian-Tbackup1.zst ftp://192.168.0.112/ftp/

Certifique-se de que o diretório exista e que o usuário tenha permissões de gravação nele.

NOTA: Embora cURL suporte uma ampla variedade de protocolos, ele não fornece downloads recursivos. Por outro lado, o Wget suporta downloads recursivos usando a opção –recursive como os protocolos HTTP / HTTPS e FTP / FTPS oferecem, tal funcionalidade.

Semelhanças entre wget e cURL

Agora, para a cereja do bolo:

  • Ambas as ferramentas suportam protocolos padrão como HTTP, HTTPS, FTP, FTPS.
  • Ambas as ferramentas baixam arquivos da Internet.
  • Ambas as ferramentas suportam cookies HTTP.
  • Ambas as ferramentas oferecem suporte à saída para um arquivo.
  • Ferramentas gratuitas e desenvolvidas ativamente.
  • Ambas as ferramentas suportam transferências de currículo.
  • Ambas as ferramentas suportam HTTP POST.

Diferenças entre wget e cURL

Aqui estão algumas das diferenças entre curl e wget:

  • Wget é um utilitário de transferência simples, enquanto o curl oferece muito mais.
  • Curl fornece a biblioteca libcurl, que pode ser expandida em aplicativos GUI. O Wget, por outro lado, é um utilitário simples de linha de comando.
  • Wget suporta menos protocolos em comparação com cURL.
  • Downloads recursivos não são suportados no curl.
  • Wget está disponível nativamente em sistemas Linux, enquanto cURL está disponível em sistemas Windows.
  • cURL suporta múltiplas transferências paralelas.
  • cURL executa descompressões de HTTP codificadas por transferência, enquanto o wget não.
  • cURL suporta HTTP bidirecional enquanto wget oferece um HTTP POST simples.
  • cURL suporta mais métodos de autenticação HTTP em comparação com wget.
  • O Wget não oferece suporte a SOCKS.
  • Wget requer gnulib instalado.
  • Ao contrário do curl, recursos como cookies, carimbos de data / hora e redirecionamentos de acompanhamento são habilitados por padrão no wget. cURL requer que cada um seja especificado explicitamente.

Conclusão

Este tutorial focou nas semelhanças e diferenças entre cURL. Embora possa parecer que cURL é a escolha superior, há casos em que wget é a melhor escolha.

Meu conselho para você é escolher o que funciona para você.