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 cURLsudo apt-get installondulação
# instalar wget
sudo apt-get install wget
Arch / Manjaro:
# install cURLsudopacman-Sondulação
# instalar wget
sudopacman-S wget
REHL / CentOS / Fedora:
# install cURLsudo 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.htmlhttps 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.zstwget --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ê.