Sendo um engenheiro de TI vem com várias tarefas para realizar, como verificar a conectividade de rede, baixar arquivos ou configurar autenticações. Normalmente, essas tarefas requerem diferentes ferramentas. Bem, não com cURL. A utilidade cURL do Linux ajuda com a maioria das coisas que um engenheiro de TI precisa.
Neste tutorial, você aprenderá sobre cada recurso de linha de comando que o cURL oferece.
Continue lendo e aprimore suas habilidades com cURL!
Pré-requisitos
Este tutorial compreende demonstrações passo a passo. Para acompanhar, certifique-se de ter o seguinte:
- Uma máquina Ubuntu – Este tutorial usa Ubuntu 18.04 com Apache instalado.
- A Windows XP+ PC – This tutorial uses Windows 10 Enterprise edition.
- A remote Linux host – This tutorial uses an Ubuntu 18.04.5 LTS machine.
- A user account on the remote Linux SSH host with sudo permissions.
Instalando cURL Linux (Ubuntu)
Como qualquer outra ferramenta, antes de aproveitar o cURL, você primeiro precisa instalá-lo em sua máquina. Você pode instalar o cURL em qualquer sistema operacional baseado em *nix, mas ele é mais popularmente usado no Ubuntu.
O cURL é uma utilidade de linha de comando que permite executar toneladas de tarefas como segue:
- Exibir o status das várias configurações de rede de máquinas Windows ou servidores Linux
- Transferir dados de ou para servidores
- Suporta múltiplos protocolos, como HTTP, FTP, IMAP, POP3, SCP e SFTP.
Para instalar o cURL em sua máquina Ubuntu:
1. Conecte-se ao seu host Ubuntu com seu cliente SSH favorito.
2. Execute os seguintes comandos, que não fornecem saída, mas criam um diretório chamado ~/install_curl_demo e mudam para esse diretório. Este diretório conterá todos os recursos que você criará neste tutorial.
3. Em seguida, execute o comando apt update abaixo para atualizar o índice de pacotes do seu sistema.
Esse comando garante que o gerenciador de pacotes apt possa encontrar a fonte adequada ao baixar quaisquer pacotes dependentes.

4. Agora, execute o comando apt install abaixo para instalar o cURL em sua máquina.

5. Por fim, execute o comando abaixo para verificar a versão do cURL instalada em sua máquina. Fazer isso garante que você tenha instalado o cURL com sucesso.

Autenticando Websites
Diferentes protocolos suportados pelo curl, como FILE, FTP, HTTP, HTTPS, POP3, SCP, SFTP, TELNET, etc., e você não precisa trabalhar com nenhuma interação do usuário.
Se precisar autenticar em qualquer site usando o comando curl, você precisará especificar o nome de usuário e senha na própria URL. Mas se definir o nome de usuário, o cURL solicitará uma senha.
Execute o comando curl abaixo, substituindo [email protected]:senha pelo seu nome de usuário e senha e a URL do site pela sua para autenticar.

Baixando Arquivos com Nome Original ou Alterado
Baixar arquivos ou pacotes pode ser parte da sua rotina diária como administrador. Se for o caso, o cURL certamente vai te ajudar. O comando curl
, acrescido das opções -O
ou -o
, permite que você baixe arquivos mantendo o nome original ou definindo um nome diferente.
Execute os comandos abaixo para baixar o pacote do NGINX com o nome original (-O
) como (*nginx-1.20.2.tar.gz*
) e com um nome diferente (-o
) como *meutar.gz*
.

Agora, execute o seguinte comando para baixar o pacote do NGINX com o nome mytar2.gz. Mas desta vez, você só verá uma barra de progresso em vez de ver muitos detalhes na saída.

Por último, execute o comando ls
abaixo para listar todos os arquivos no diretório atual.
Abaixo, você pode verificar que os arquivos nginx-1.20.2.tar.gz, mytar.gz e mytar2.gz existem.

Configurando o Tempo Limite de Conexão
Websites de carregamento rápido são sempre ideais, e o cURL tem uma maneira de testar o quão rápido um usuário pode se conectar ao seu site. Como? Configurando um tempo limite de conexão, onde o comando curl
tenta se conectar a um site dentro de um intervalo de tempo específico.
Configurar um tempo limite de conexão permite que você determine quanto tempo um servidor leva para responder a uma solicitação de dados que você faz.
Execute o comando abaixo para tentar se conectar ao site adamtheautomator.com por 20
segundos antes de expirar a solicitação.
Você pode ver abaixo que a opção -I
permite incluir cabeçalhos na saída de informações do site.

Recuperando Dados Usando a Solicitação GET
Você viu que definir o tempo limite de conexão fornece informações sobre um site na seção “Configurando o Tempo Limite de Conexão”. Mas se essa informação não for suficiente, considere enviar uma solicitação GET.
Execute o comando curl abaixo para usar uma solicitação GET HTTP (–get) e recuperar dados do site https://adamtheautomator.com.
Abaixo, você pode ver a fonte real do site adamtheautomator.com.

Enviando uma Solicitação POST
Em vez de obter dados, você também pode enviar dados enviando uma solicitação POST com o comando curl
. O parâmetro -d
permite que você envie os dados especificados em uma solicitação POST para o servidor HTTP como um navegador faz quando um usuário preenche um formulário HTML.
Execute o seguinte comando curl
para enviar uma solicitação POST para o site ptsv2.com
.

Agora, acesse https://reqbin.com/ em seu navegador da web para testar se o POST foi bem-sucedido.
Abaixo, você notará que o Status mostra (200 (OK), o que significa que a solicitação foi enviada com sucesso.

Pesquisando Definições de Palavras
Você sabia que também pode usar o cURL como um dicionário? Sim! cURL permite que você pesquise definições de palavras usando o protocolo DICT. Muitos termos relacionados à TI podem ser pesquisados usando o protocolo DICT, como relógio, ubuntu, RDP, etc.
A sintaxe do comando curl
usando o protocolo DICT é a seguinte:
Execute cada comando abaixo para pesquisar definições de palavras no dicionário disponível no site público dict.org
.
Como você pode ver abaixo, a primeira busca pela definição da palavra ubuntu não encontrou uma resposta relevante e retornou nenhuma correspondência. Mas a segunda retornou algumas definições para a palavra clock.

Testando o Protocolo HTTP/2 do Website
O comando curl é, sem dúvida, adequado para baixar, enviar e autenticar websites. Mas outra coisa que torna o curl uma ótima ferramenta é que você pode verificar se uma URL específica suporta o novo protocolo HTTP/2.
Execute o seguinte comando curl para verificar se o site https://adamtheautomator.com/ suporta o protocolo HTTPS (–http2).
Você verá uma resposta HTTP/2 200 na saída, como a abaixo, o que significa que o site usa o protocolo HTTP/2.

Conclusão
O cURL, sendo uma ferramenta gratuita, possui muitos recursos. E neste tutorial, você experimentou diferentes exemplos práticos de uso do cURL no Linux. Seja baixando arquivos, autenticando websites, enviando solicitações POST ou GET, etc., o cURL não irá decepcionar você.
Que tal construir sobre esse conhecimento recém-adquirido? Talvez aprender como transferir arquivos, executar comandos e scripts usando o comando curl? Ou descobrir comandos da API cURL?