Para que servem curl e wget?
Comando wget e curl: Ambos são usados para transferir arquivos através de protocolos como HTTP, HTTPS e FTP (e vários outros), diretamente do terminal.
Mas, enquanto wget é focado em fazer downloads robustos de arquivos e sites completos, curl destaca-se pela versatilidade na comunicação com servidores e APIs, suportando muitos métodos (GET, POST, PUT etc.) e apresentando recursos avançados de manipulação de headers, autenticação, etc.

Comando wget: O Especialista em Downloads
O que é?
- Ferramenta criada para downloads recursivos (baixar um site inteiro), downloads simples ou grandes.
- Mantém conexões abertas para retomar downloads interrompidos.
- Muito usado em scripts de automação para baixar arquivos, ISOs, backups, etc.
Baixar um arquivo simples:
wget http://exemplo.com/arquivo.zip
Baixar um arquivo e nomear diferente:
wget -O novo-nome.zip http://exemplo.com/arquivo.zip
Retomar download interrompido:
wget -c http://exemplo.com/arquivo-grande.iso
Baixar um site inteiro (com links recursivos):
wget –mirror –convert-links –adjust-extension –page-requisites –no-parent http://exemplo.com
Baixar múltiplos arquivos de uma lista:
wget -i lista.txt
(*lista.txt* contém URLs, uma por linha)
Baixar com autenticação:
wget –user=usuario –password=senha http://exemplo.com/privado.zip
- Opções úteis:
- -q modo silencioso
- –limit-rate=200k limita velocidade de download
- -b roda em background
Vantagens do wget
- Ideal para downloads grandes, múltiplos arquivos, e scripts automatizados de backup.
- Robustez ao retomar downloads quebrados.
- Excelente para capturar sites estáticos inteiros.
Comando curl: O Canivete Suíço de Rede
O que é?
- Ferramenta multifuncional para transferências de dados, muito usada para testar APIs, enviar e receber dados em diversos protocolos.
- Suporta uma gama incrível de protocolos: HTTP, HTTPS, FTP, FTPS, SCP, SFTP, LDAP, SMB, etc.
- Muito usado em integrações, testes de aplicações web, automações com REST APIs.
Baixar um arquivo simples:
curl -O http://exemplo.com/arquivo.zip
(*-O* salva com nome original)
Salvar com nome personalizado:
curl -o novo-nome.zip http://exemplo.com/arquivo.zip
Fazer um POST em uma API:
curl -X POST -d ‘chave=valor’ http://api.exemplo.com/endpoint
Testar uma API REST e ver resposta rapidamente:
curl -i https://api.openai.com/v1/models
Download com autenticação:
curl -u usuario:senha http://exemplo.com/privado.zip -O
Fazer upload de arquivo:
curl -F “file=@/caminho/arquivo.txt” http://api.exemplo.com/upload
Vantagens do curl
- Extremamente versátil em protocolos e métodos HTTP.
- Permite simular requests complexos de aplicativos, ideal para testar e automatizar integrações.
- Pode ser usado em scripts para consultar, enviar dados, manipular headers, autenticação avançada, etc.
Comparativo: curl X wget

Use wget para downloads complexos, múltiplos arquivos, backups, sites inteiros.
- Use curl para interagir com APIs, enviar formulários, testar conexões HTTP(s) com máxima flexibilidade.
- Ambos funcionam bem em scripts: wget para downloads em lote, curl para manipulação e consulta de webservices.
Resumo e dicas
- São utilitários essenciais: dominá-los agiliza e empodera seu trabalho no terminal.
- Automação de integração, backup, upload, download e testes de serviços web depende desses comandos em DevOps modernos.
- Com o curl, você pode emular quase todas as formas de requisições web de apps modernos e mobile.
- No wget, você pode espelhar sites inteiros, recuperar downloads e automatizar backups regulares sem riscos.
- Ambos permitem uso de proxies, ajuste de user-agent, suporte a SSL/TLS, e execução em background.


