Qual é a diferença entre wget vs curl?

Qual é a diferença entre wget vs curl?
Muitas vezes 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 costumam surgir: Curl, Axel, WGET e ARIA2. Embora Axel e ARIA2 possam não ser bem conhecidos, a maioria dos usuários terminais conhece Curl e WGet.

Neste tutorial, examinaremos o Curl e o WGet, como começar, e o mais importante, as diferenças entre eles.

O que é Curl?

O CURL é um utilitário de linha de comando gratuito e de código aberto que permite que os usuários transfira dados de uma máquina remota para outra com interação mínima ou sem usuário. O uso de cacho é predominante em dispositivos como roteadores, impressoras, telefones, tablets, 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 outros outros.

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

O que é wget?

O GNU WGet, comumente chamado WGET, é um utilitário de linha de comando gratuito para transferir arquivos usando HTTP/HTTPS, FTP e FTPS. Ele fornece recursos como downloads recursivos, controle de largura de banda, resumos de transferências abortadas, downloads de fundo, arquivos e diretórios de espelho recursivo e muitos outros.

Como instalar o curl e o wget?

Curl e WGET são ferramentas populares prontamente disponíveis nas principais distribuições Linux; Se você não possui nenhuma ferramenta instalada, usa os comandos abaixo para instalar:

Debian/Ubuntu:

# Instale o curl
sudo apt-get install surl
# Instale o wget
sudo apt-get install wget

Arch/Manjaro:

# Instale o curl
Sudo Pacman -S Curl
# Instale o wget
sudo pacman -s wget

REHL/CENTOS/FEDORA:

# Instale o curl
sudo yum install curl
sudo dnf install curl
# Instale o wget
sudo yum install wget
sudo dnf install wget

Como usar o CURL e WGET (exemplo de uso de casos)?

Para garantir que você entenda as semelhanças e diferenças entre Curl e WGET, é bom olhar para alguns exemplos:

Protocolos HTTP/HTTPS:

Protocolos HTTP e HTTPS suportam o CURL e WGE. Portanto, se baixarmos um site como Linuxhint.com:

Curl https: // linuxhint.com -o linuxhint.html
Curl https: // linuxhint.com -o linuxhint.html
% % % % Recebidos % xferd de velocidade média de tempo de tempo de tempo
Upload dargo
100 256k 0 256k 0 0 166k 0-:-:-0:00:01-:-:-166k

Por padrão, 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:

wget https: // linuxhint.com
--2021-06-20 05: 09: 45-- https: // linuxhint.coma
Resolvando Linuxhint.com (Linuxhint.com)… 104.21.58.234, 172.67.209.252, 2606: 4700: 3033 :: 6815: 3aea,…
Conectando ao linuxhint.com (Linuxhint.com) | 104.21.58.234 |: 443… conectado.
Solicitação HTTP enviada, aguardando resposta… 200 ok
Comprimento: não especificado [texto/html]
Economizando para: 'Índice.html '
índice.html
[[ <=> ] 256.25k 506kb/s em 0.5s
2021-06-20 05:09:46 (506 kb/s)-'Índice.HTML 'salvo [262396]

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

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

ÍNDICE $ LS -L.html linuxhint.html
-RW-RW-R-- 1 Linuxhint Linuxhint 262396 Jun 19 15:50 ÍNDICE.html
-RW-RW-R-- 1 Linuxhint Linuxhint 262396 20 de junho 05:07 Linuxhint.html

Protocolo FTP:

Downloads de suporte a curl e wget nos protocolos FTP. No entanto, o CURL suporta o upload para FTP.

Use o comando abaixo para baixar arquivos do FTP Server com WGET:

WGET --USER = Debian -Password = 'Debian' ftp: // 192.168.0.112/backup.zst
WGET --USER = Debian -Password = 'Debian' ftp: // 192.168.0.112/backup.zst
--2021-06-20 05: 29: 06-- ftp: // 192.168.0.112/backup.zst
=> 'Backup.zst '
Conectando a 192.168.0.112: 21… conectado.
Efetuando login como debian… login!
==> syst… feito. ==> PWD… feito.
==> tipo I… feito. ==> CWD não é necessário.
==> Backup de tamanho.Zst ... feito.
==> pasv… feito. ==> RET Backup.Zst ... feito.
cópia de segurança.zst
[[ <=> ] 0 --.-Kb/s em 0s
2021-06-20 05:29:06 (0.00 b/s) - 'Backup.Zst 'salvo [0]
Usando CURL, adicione a bandeira -u como:
Curl -u Debian: Debian 'ftp: // 192.168.0.112/backup.ZST '-O Backup.zst
Curl -u Debian: Debian 'ftp: // 192.168.0.112/backup.ZST '-O Backup.zst
% % % % Recebidos % xferd de velocidade média de tempo de tempo de tempo
Upload dargo
0 0 0 0 0 0 0-:-:--:-:--:-:-0
Para fazer upload de um arquivo para FTP com o CURL, usamos a opção -t como:
Curl -u Debian: Debian -t “Backup1.zst ”ftp: // 192.168.0.112/ftp/

Verifique se o diretório existe e o usuário tem permissões de gravação para ele.

OBSERVAÇÃO: Embora o 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 -recursiva como os protocolos HTTP/HTTPS e FTP/FTPS oferecem, essa funcionalidade.

Semelhanças entre wget e curl

Agora, para a cereja no 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 suportam a saída para um arquivo.
  • Ferramentas gratuitas e ativamente desenvolvidas.
  • Ambas as ferramentas suportam transferências de currículo.
  • Ambas as ferramentas suportam postagem http.

Diferenças entre WGE 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.
  • O CURL fornece a biblioteca Libcurl, que pode ser expandida para aplicações da GUI. WGet, por outro lado, é um utilitário simples da linha de comando.
  • O WGET suporta menos protocolos em comparação com o CURL.
  • Downloads recursivos não são suportados em Curl.
  • O WGE.
  • O CURL suporta várias transferências paralelas.
  • O CURL realiza descompactões HTTP codificadas por transferência, enquanto o WGE.
  • O CURL suporta http bidirecional enquanto o WGET oferece uma postagem HTTP simples.
  • O CURL suporta mais métodos de autenticação HTTP em comparação com o WGE.
  • Wget não suporta meias.
  • WGET Requer Gnulib instalado.
  • Ao contrário do CURL, recursos como cookies, registros de data e hora e siga Redirects são ativados por padrão no WGE. Curl exige que cada um seja especificado explicitamente.

Conclusão

Este tutorial se concentrou nas semelhanças e nas diferenças entre o CURL. Embora possa parecer que o Curl é a escolha superior, há casos em que o WGet é a melhor escolha.

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