Sendo um engenheiro de TI vem com várias tarefas para realizar, como verificar a conectividade de rede, baixar arquivos ou configurar autenticações. Geralmente, essas tarefas exigem diferentes ferramentas. Bem, não com o cURL. A utilidade cURL no 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 o 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 o cURL no Linux (Ubuntu) `
`Como qualquer outra ferramenta, antes de tirar proveito do cURL, você primeiro precisa instalá-lo em sua máquina. Você pode instalar o cURL em qualquer sistema operacional baseado em *nix, mas é mais popularmente usado no Ubuntu. `
`O cURL é uma utilidade de linha de comando que permite realizar diversas tarefas, conforme abaixo:
- Exibir o status de 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 ~/instalar_curl_demo e mude 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.
Este comando garante que o gerenciador de pacotes apt possa encontrar a origem 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. Fazê-lo 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 interagir com nenhum usuário.
Se você precisar autenticar em um site usando o comando curl, será necessário especificar o usuário e a senha na própria URL. Mas se você definir o nome de usuário, o cURL solicitará uma senha.
Execute o comando curl abaixo, substituindo [email protected]:password pelo seu nome de usuário e senha, e a URL do site pela sua para autenticação.

Baixando Arquivos Com Nome Original ou Modificado
O download de arquivos ou pacotes pode fazer parte da sua rotina diária como administrador. Se for o caso, o cURL certamente será útil. 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 *mytar.gz*
.

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

Por fim, 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.

Definindo Tempo Limite de Conexão
Os sites 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? Definindo um tempo limite de conexão, onde o comando curl
tenta se conectar a um site dentro de um período de tempo específico.
Definir um tempo limite de conexão permite determinar quanto tempo um servidor leva para responder a uma solicitação de dados que você faz.
Execute o comando abaixo para tentar conectar-se 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 o Pedido GET
Você viu que definir um tempo limite de conexão fornece informações sobre um site na seção “Definindo Tempo Limite de Conexão”. Mas se essa informação não for suficiente, considere enviar um pedido GET.
Execute o comando curl abaixo para usar um pedido GET HTTP (–get) e recuperar dados do site https://adamtheautomator.com.
Abaixo, você pode ver a fonte real do site adamtheautomator.com.

Envio de 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, assim 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 a POST foi bem-sucedida.
Abaixo, você notará que o Status mostra (200 (OK), o que significa que a solicitação foi enviada com sucesso.

Buscando Definições de Palavras
Você sabia que também pode usar o cURL como um dicionário? Sim! O 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 clock, 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 relógio.

Testando o Protocolo HTTP/2 do Site
O comando curl é sem dúvida adequado para baixar, enviar e autenticar em sites. Mas outra característica que torna o curl uma ótima ferramenta é que você pode verificar se uma determinada URL 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 indica que o site utiliza o protocolo HTTP/2.

Conclusão
O cURL, sendo uma ferramenta gratuita, vem com muitos recursos. E neste tutorial, você experimentou diferentes exemplos práticos de como usar o cURL no Linux. Seja para baixar arquivos, autenticar em sites, enviar solicitações POST ou GET, etc., o cURL não vai te decepcionar.
Que tal construir sobre esse conhecimento recém-adquirido? Talvez aprender como transferir arquivos e executar comandos e scripts usando o comando curl? Ou descobrir comandos da API cURL?