O comando cURL no Linux é uma ferramenta poderosa para transferir dados de ou para um servidor usando vários protocolos, incluindo HTTP, HTTPS, FTP e muito mais. É comumente usado para automatizar solicitações da web, testar APIs e baixar arquivos da Internet. cURL é versátil e pode lidar com uma ampla variedade de tarefas, desde simples downloads de arquivos até envios complexos de formulários com várias partes.
Neste guia, exploraremos 30 exemplos práticos de uso do comando cURL no Linux. Esses exemplos cobrirão casos de uso comuns, como download de arquivos, envio de dados para APIs, manipulação de autenticação e muito mais, mostrando a flexibilidade e o poder do cURL para diversas tarefas.
A sintaxe do comando cURL
Antes de prosseguirmos com a demonstração de 30 exemplos com o comando cURL, é uma boa ideia entender primeiro sua sintaxe:
curl [options] [URL]
Nesta sintaxe:
- opções: são os parâmetros que modificam o comportamento do cURL.
- URL: Este é o endereço do arquivo ou recurso com o qual você deseja interagir.
Opções de comando cURL
cURL oferece muitas opções que permitem personalizar seu comportamento. Aqui estão algumas das opções mais comumente usadas:
- -O: Baixa o arquivo do URL especificado.
- -I: busca o cabeçalho HTTP do servidor.
- -u: Especifica as credenciais do usuário para autenticação do servidor.
- -d: Envia os dados especificados em uma solicitação POST para o servidor.
- -x: Especifica o endereço proxy a ser usado para as solicitações.
30 exemplos de comando cURL no Linux
Agora, vamos nos aprofundar em alguns exemplos práticos de uso do comando cURL. Cada exemplo será precedido por uma explicação seguida por uma demonstração do resultado.
Exemplo 1: buscando dados de um URL
O uso mais básico do cURL é buscar o conteúdo de uma página da web. Veja como você pode fazer isso:
curl https://www.example.com
Este comando busca o conteúdo HTML da página da web em www.example.com.
Exemplo 2: baixando um arquivo
cURL também pode ser usado para baixar arquivos da internet. Aqui está um exemplo:
curl -O https://www.example.com/file.txt
Este comando baixa o arquivo file.txt de www.example.com e o salva no diretório atual.
Exemplo 3: Enviando uma solicitação POST
Você pode usar cURL para enviar solicitações POST para um servidor. Veja como:
curl -d "param1=value1¶m2=value2" -X POST http://www.example.com
Este comando envia uma solicitação HTTP POST para www.example.com com os dados param1=value1¶m2=value2.
Exemplo 4: Buscando cabeçalhos HTTP
Se quiser buscar os cabeçalhos HTTP de um servidor, você pode usar a opção -I. Aqui está um exemplo:
curl -I https://www.example.com
Este comando busca os cabeçalhos HTTP de www.example.com.
Exemplo 5: Usando um proxy
Se precisar usar um proxy, especifique-o usando a opção -x. Veja como:
curl -x http://proxy.example.com:8080 https://www.example.com
Este comando envia a solicitação para www.example.com por meio do proxy em proxy.example.com:8080.
Exemplo 6: Envio de Cookies
Você pode enviar cookies junto com sua solicitação usando a opção -b. Aqui está um exemplo:
curl -b "name=value" https://www.example.com
Este comando envia um cookie com nome=valor para www.example.com.
Exemplo 7: Enviando Agente de Usuário
Os sites costumam usar o agente do usuário para fornecer conteúdo adequado ao navegador do cliente. Para enviar um agente de usuário com sua solicitação, use a opção -A:
curl -A "Mozilla/5.0" https://www.example.com
Este comando envia uma solicitação para www.example.com com o agente do usuário definido como Mozilla/5.0.
Exemplo 8: Seguindo Redirecionamentos
Alguns URLs redirecionam para outros URLs. Para seguir esses redirecionamentos, use a opção -L:
curl -L https://www.example.com
Este comando segue qualquer redirecionamento de www.example.com.
Exemplo 9: Salvando a saída em um arquivo
Para salvar a saída de um comando cURL em um arquivo, use a opção -o:
curl -o output.html https://www.example.com
Este comando salva a saída de www.example.com em output.html.
Exemplo 10: Upload de arquivos com FTP
cURL pode fazer upload de arquivos para um servidor usando FTP. Veja como:
curl -T file.txt ftp://ftp.example.com --user username:password
Este comando carrega file.txt para ftp.example.com usando o nome de usuário e a senha fornecidos.
Exemplo 11: Retomando um download
Se um download for interrompido, você pode retomá-lo com a opção -C –:
curl -C - -O https://www.example.com/file.txt
Este comando retoma o download do arquivo.txt de www.example.com.
Exemplo 12: baixando vários arquivos
Para baixar vários arquivos, especifique vários URLs:
curl -O https://www.example.com/file1.txt -O https://www.example.com/file2.txt
Este comando baixa file1.txt e file2.txt de www.example.com.
Exemplo 13: Enviando uma solicitação DELETE
Para enviar uma solicitação DELETE, use a opção -X DELETE:
curl -X DELETE https://www.example.com/resource
Este comando envia uma solicitação DELETE para a URL www.example.com/resource.
Exemplo 14: Saída detalhada
Para obter informações detalhadas sobre a solicitação e resposta, use a opção -v:
curl -v https://www.example.com
Este comando fornece uma saída detalhada para a solicitação para www.example.com.
Exemplo 15: Modo Silencioso
Para suprimir o medidor de progresso e as mensagens de erro, use a opção -s:
curl -s https://www.example.com
Este comando busca o conteúdo de www.example.com no modo silencioso.
Exemplo 16: Exibindo o progresso do download
Para exibir o progresso do download em um formato mais legível, use a opção #:
curl -# -O https://www.example.com/file.txt
Este comando baixa o arquivo.txt de www.example.com e exibe o progresso como uma barra de progresso.
Exemplo 17: Envio de dados JSON
Para enviar dados JSON em uma solicitação POST, use a opção -H para definir o tipo de conteúdo:
curl -d '{"key1":"value1", "key2":"value2"}' -H "Content-Type: application/json" -X POST https://www.example.com
Este comando envia uma solicitação POST com dados JSON para www.example.com.
Exemplo 18: Usando cURL com uma API
cURL é frequentemente usado para interagir com APIs. Aqui está um exemplo:
curl -H "Authorization: Bearer YOUR_TOKEN" https://api.example.com
Este comando envia uma solicitação para https://api.example.com com um cabeçalho de autorização.
Exemplo 19: Baixando arquivos em segundo plano
Para baixar um arquivo em segundo plano, use a opção -O com um "e" comercial no final:
curl -O https://www.example.com/file.txt &
Este comando baixa o arquivo.txt de www.example.com em segundo plano.
Exemplo 20: Envio de dados de um arquivo
Para enviar dados de um arquivo em uma solicitação POST, use o símbolo @:
curl -d @data.txt -X POST https://www.example.com
Este comando envia uma solicitação POST com os dados de data.txt para www.example.com.
Exemplo 21: Buscando conteúdo do servidor FTP
cURL pode ser usado para buscar conteúdo de um servidor FTP. Veja como:
curl ftp://ftp.example.com/file.txt --user username:password
Este comando busca file.txt em ftp.example.com usando o nome de usuário e a senha fornecidos.
Exemplo 22: Buscando conteúdo de um site protegido por senha
Para buscar conteúdo de um site protegido por senha, use a opção -u:
curl -u username:password https://www.example.com
Este comando busca o conteúdo de www.example.com usando o nome de usuário e a senha fornecidos.
Exemplo 23: Buscando conteúdo de um site com SSL
Para buscar conteúdo de um site com SSL, use a opção -k:
curl -k https://www.example.com
Este comando busca o conteúdo de www.example.com, ignorando quaisquer avisos de certificado SSL.
Exemplo 24: Enviando uma solicitação PUT
Para enviar uma solicitação PUT, use a opção -X PUT:
curl -X PUT -d "data" https://www.example.com/resource
Este comando envia uma solicitação PUT com os dados “dados” para www.example.com/resource.
Exemplo 25: Buscando os cabeçalhos de resposta
Para buscar apenas os cabeçalhos de resposta, use a opção -I:
curl -I https://www.example.com
Este comando busca apenas os cabeçalhos de resposta de www.example.com.
Exemplo 26: Buscando conteúdo de um site com cookies
Para buscar conteúdo de um site com cookies, use a opção -b:
curl -b cookies.txt https://www.example.com
Este comando busca o conteúdo de www.example.com usando os cookies armazenados em cookies.txt.
Exemplo 27: Buscando conteúdo de um site com cabeçalhos personalizados
Para buscar conteúdo de um site com cabeçalhos personalizados, use a opção -H:
curl -H "Custom-Header: Value" https://www.example.com
Exemplo 28: Buscando conteúdo de um site com tempo limite
Para buscar conteúdo de um site com tempo limite, use a opção -m:
curl -m 10 https://www.example.com
Este comando busca o conteúdo de www.example.com com um tempo limite de 10 segundos.
Exemplo 29: Buscando conteúdo de um site no modo detalhado
Para buscar conteúdo de um site em modo detalhado, use a opção -v:
curl -v https://www.example.com
Este comando busca o conteúdo de www.example.com em modo detalhado, exibindo informações detalhadas sobre a solicitação e a resposta.
Exemplo 30: Buscando conteúdo de um site e exibindo o medidor de progresso
Para buscar conteúdo de um site e exibir o medidor de progresso, use a opção -#:
curl -# https://www.example.com
Este comando busca o conteúdo de www.example.com e exibe o medidor de progresso.
Conclusão
Dominar o comando cURL com esses exemplos práticos pode melhorar significativamente sua capacidade de interagir com serviços da Web, automatizar transferências de dados e solucionar problemas de rede. A prática regular com diferentes opções e comandos cURL aprofundará sua compreensão e permitirá que você aproveite todo o seu potencial em seus fluxos de trabalho Linux. Aproveite a versatilidade e a eficiência que o cURL traz ao seu kit de ferramentas de linha de comando.