Esse é um comando disponível na maioria dos sistemas baseados em
Linux/Unix, sendo utilizado como uma abreviação para
Client URL. Comandos
curl são utilizados muitas vezes para verificar a conectividade de uma URL, além disso, é uma ótima ferramenta para a transferência de dados e arquivos.
O comando curl suporta diversos protocolos, dentre os quais podemos destacar:
- HTTP e HTTPS
- FTP e FTPS
- IMAP e IMAPS
- POP3 e POP3S
- SMB e SMBS
- SFTP
- SCP
- TELNET
- GOPHER
- LDAP e LDAPS
- SMTP e SMTPS
Instalar o cURL
Para instalar o curl, caso ele não esteja disponível no seu Linux, utilize o seguinte comando:
sudo apt install curl
Agora, verifique a versão do seu curl:
curl -version
No meu caso, possuo a versão 7.64.0 instalada.
cURL - Sintaxe do comando
A sintaxe básica do comando é da seguinte forma:
curl <OPTIONS> <URL>
O uso mais simples do comando curl é para mostrar o conteúdo de uma página, como por exemplo a página inicial do Viva o Linux.
curl https://www.vivaolinux.com.br
Observe nas próximas imagens que recebi o código HTML deste site.
Pode-se utilizar o curl para realizar o download de arquivos, de um servidor remoto para a sua estação de trabalho. Existem 2 opções que podem ser utilizadas:
- -O: irá salvar o arquivo no diretório atual, com o mesmo nome do arquivo remoto
- -o: irá salvar o arquivo no diretório especificado, com um novo nome de arquivo
curl -O https://www.drsolutions.com.br/vol/exemplo.tar.gz
curl -o novoArquivo.tar.gz https://www.drsolutions.com.br/vol/exemplo.tar.gz
Observe na imagem abaixo, que agora tenho 2 arquivos descarregados, o exemplo.tar.gz e o novoArquivo.tar.gz.
Caso o download seja interrompido, você pode dar continuidade nele, reiniciando com o comando curl, da seguinte forma:
curl -C - -O https://www.drsolutions.com.br/vol/exemplo.tar.gz
Pode-se também realizar o download de diversos arquivos de uma única vez, através de uma única chamada do curl.
curl -O https://www.drsolutions.com.br/vol/fornecedores.tar.gz -O https://www.drsolutions.com.br/vol/clientes.tar.gz
cURL - HTTP e HTTPS
Uma solicitação HTTP sempre possui um cabeçalho que envia as informações adicionais sobre o servidor remoto, junto com a solicitação atual. Podemos ver os cabeçalhos de uma URL, utilizando o curl com a opção -I. Veja os cabeçalhos do Viva o Linux.
curl -I https://www.vivaolinux.com.br
Podemos realizar requisições GET e POST utilizando o curl.
A requisição GET acontece da seguinte forma:
curl http://exemplodesite.com.br
A requisição POST, na página contato.php, enviando o campo nome=Diego, deve ser feita com esse comando:
curl -data "nome=Diego" http://exemplodesite.com.br/contato.php
Caso seja necessário alterar o agente de usuário (navegador), pode-se utilizar a opção --user-agent.
curl -I https://www.vivaolinux.com.br --user-agent "Firefox"
cURL - FTP
Através do curl pode-se também utilizar o FTP, realizando o download de arquivos, ou o upload deles.
Para realizar o download de um arquivo, utilize da seguinte forma:
curl -u username:password -O ftp://exemplodesite.com.br/projetos.tar.gz
Para realizar o upload de um arquivo, utilize da seguinte forma:
curl -u username:password -T imagens.tar.gz ftp://exemplodesite.com.br
Caso seja utilizando um FTP anônimo, não será necessário enviar os dados de usuário e senha.
Se você quiser conhecer melhor o curl, dê uma olhada no manual dele.
man curl
Você utiliza o curl?