===== Exemplos dos comandos wget e curl ===== ==== Nível Básico ==== * **Baixar um arquivo simples com `wget`:** - wget http://exemplo.com/arquivo.zip - Faz o download do arquivo `arquivo.zip` a partir da URL especificada. * **Baixar um arquivo simples com `curl`:** - curl -O http://exemplo.com/arquivo.zip - Faz o download do arquivo `arquivo.zip` e o salva no diretório atual. * **Exibir o conteúdo de uma página web com `curl`:** - curl http://exemplo.com - Exibe o conteúdo HTML da página principal de `http://exemplo.com` no terminal. * **Baixar um arquivo com um nome diferente usando `wget`:** - wget -O meu_arquivo.zip http://exemplo.com/arquivo.zip - Baixa o arquivo e o salva como `meu_arquivo.zip`. ==== Nível Intermediário ==== * **Baixar um site inteiro recursivamente com `wget`:** - wget -r http://exemplo.com - Faz o download de um site completo, seguindo links e criando uma cópia local de todo o conteúdo. * **Baixar arquivos de um diretório FTP com `wget`:** - wget ftp://ftp.exemplo.com/arquivo.zip - Faz o download de arquivos de um servidor FTP. * **Verificar o cabeçalho HTTP de uma página com `curl`:** - curl -I http://exemplo.com - Exibe apenas o cabeçalho HTTP da página. * **Enviar dados de formulário usando `curl`:** - curl -d "usuario=admin&senha=123" -X POST http://exemplo.com/login - Envia dados de formulário para uma URL usando o método `POST`. * **Fazer download de arquivos com autenticação básica com `wget`:** - wget --user=usuario --password=senha http://exemplo.com/protegido/arquivo.zip - Usa autenticação básica HTTP para baixar um arquivo protegido. * **Fazer download de arquivos de um site que requer autenticação com `curl`:** - curl -u usuario:senha http://exemplo.com/arquivo.zip -O - Usa autenticação básica HTTP para baixar um arquivo protegido. ==== Nível Avançado ==== * **Limitar a taxa de download com `wget`:** - wget --limit-rate=200k http://exemplo.com/arquivo.zip - Limita a taxa de download para 200 KB/s. * **Continuar um download interrompido com `wget`:** - wget -c http://exemplo.com/arquivo_grande.zip - Retoma o download de onde parou se o arquivo já tiver sido baixado parcialmente. * **Fazer download de múltiplos arquivos com `wget`:** - wget -i lista_arquivos.txt - Baixa todos os arquivos listados no arquivo `lista_arquivos.txt`. * **Fazer um download via proxy com `wget`:** - wget -e use_proxy=yes -e http_proxy=proxy.servidor.com:8080 http://exemplo.com/arquivo.zip - Faz o download de um arquivo passando por um servidor proxy. * **Testar uma API REST e exibir o resultado formatado com `curl`:** - curl -s http://api.exemplo.com/dados | jq - Usa o `curl` para consultar uma API REST e o `jq` para formatar a saída JSON de forma legível. * **Simular um navegador web com `curl`:** - curl -A "Mozilla/5.0" http://exemplo.com - Simula o `User-Agent` de um navegador web para acessar uma página. ==== Nível Especializado ==== * **Fazer download de um site com login via cookies com `wget`:** - wget --save-cookies cookies.txt --post-data "usuario=admin&senha=123" http://exemplo.com/login - Usa cookies para fazer login e armazena os cookies em `cookies.txt` para sessões futuras. * **Usar `wget` para monitorar alterações em uma página web:** - wget --timestamping http://exemplo.com/arquivo.txt - Faz o download de um arquivo apenas se ele foi modificado desde o último download. * **Enviar uma requisição HTTP com cabeçalhos personalizados usando `curl`:** - curl -H "Content-Type: application/json" -d '{"chave": "valor"}' -X POST http://api.exemplo.com/ - Envia uma requisição POST para uma API com um cabeçalho HTTP personalizado e dados JSON. * **Realizar download paralelo de arquivos com `wget` e `aria2`:** - aria2c -x 16 http://exemplo.com/arquivo_grande.zip - Usa `aria2` para baixar o arquivo em múltiplas conexões simultâneas (até 16). * **Realizar uma requisição autenticada usando OAuth com `curl`:** - curl -H "Authorization: Bearer TOKEN_OAUTH" http://api.exemplo.com/ - Usa um token OAuth para autenticar a requisição HTTP. * **Fazer download de uma página web que requer login e autenticação com `curl`:** - curl -L -b cookies.txt -c cookies.txt -d "usuario=admin&senha=123" http://exemplo.com/login - Usa cookies para autenticação e mantém a sessão ativa entre requisições. * **Baixar arquivos de um servidor FTP com autenticação com `wget`:** - wget --ftp-user=usuario --ftp-password=senha ftp://ftp.exemplo.com/arquivo.zip - Usa autenticação para fazer o download de arquivos de um servidor FTP protegido. * **Testar desempenho de uma API e medir o tempo de resposta com `curl`:** - curl -w "@formato.txt" -o /dev/null -s http://api.exemplo.com/dados - Usa o `curl` para medir o tempo de conexão, resolução DNS e tempo total da requisição, com um formato customizado.