11.09.2024

Como usar o Curl no Linux?

CURL ou cliente URL é uma utilidade multifuncional que permite se comunicar com servidores usando HTTP, HTTPS, FTP, FTPS, SCP, SSH e muitos outros protocolos. O principal uso que os usuários encontraram é utilizar a ferramenta para fazer requisições a servidores web. No entanto, graças à biblioteca libcurl, a funcionalidade da ferramenta abre um grande leque de possibilidades.

Como instalar o curl?

A instalação é padrão, como para qualquer pacote de sistema Linux semelhante. É necessário primeiro atualizar o repositório, se você estiver usando o apt-manager, digite o comando:

apt update && apt upgrade \
apt install curl -y

Para um gerenciador de pacotes do tipo RPM, use os comandos apropriados:

dnf update && dnf upgrade \
dnf install curl -y

Screenshot №1 — Instalação do Curl

Após atualizar os repositórios e instalar a ferramenta, vamos explorar o tooltip e dividir a ajuda em categorias ou protocolos de operação:

curl --help category

Screenshot №2 — Categoria de ajuda

Essa lista fornece uma lista completa de protocolos que podem ser usados para se comunicar com servidores. Se você substituir a palavra "category" no comando anterior por um dos itens fornecidos, abrirá um guia detalhado sobre como usar cada uma das opções:

curl help http

O comando acima é um exemplo de busca por comandos para trabalhar com o protocolo HTTP.

Exemplos básicos de uso

Vamos examinar exemplos básicos de uso da ferramenta, mas antes disso, vamos definir a sintaxe utilizada:

curl [opções]

Este é o comando principal para chamar a ferramenta curl, com suas principais opções e a URL que será acessada.

Como baixar um arquivo usando o Curl?

Por padrão, ao acessar um site, o curl envia uma requisição GET, solicitando os cabeçalhos e o próprio arquivo ao servidor. Para salvar o arquivo, use o seguinte comando:

curl -Lo /tmp/artigos.pdf

Screenshot №3 — Download do arquivo

Note que, para fazer o download de um site que pode ter um certificado autoassinado, você deve usar a opção -k adicionalmente.

Após o download, o arquivo será salvo no diretório /tmp/ com o nome artigos.pdf, sendo a opção -o responsável por isso. A outra opção -i que, se o site responder com um código de redirecionamento 301, 302, etc., o curl irá automaticamente para o site correto e fará o download do arquivo. O arquivo também pode ser mantido com o nome original e baixado no diretório atual:

curl -Lo

No entanto, se você quiser exibir o arquivo diretamente no terminal, deixe um traço em vez do nome do arquivo:

curl -Lo -

Essa solução permitirá que você visualize o conteúdo de um arquivo rapidamente com seus cabeçalhos e meta descrição, o que pode ser necessário para verificar o conteúdo do arquivo, como a presença de scripts embutidos em um PDF, por exemplo.

Observe que exibir o arquivo no terminal pode prejudicar seu funcionamento correto. Por isso, é recomendável salvar o arquivo.

Todos os passos do tutorial podem ser realizados em servidores cloud potentes. A Serverspace oferece servidores VPS isolados para uso comum e virtualizado.

Screenshot №4 — Criar servidor

Levará algum tempo para implantar a capacidade do servidor. Depois disso, você pode se conectar de qualquer uma das maneiras convenientes. Vamos continuar explorando a ferramenta.

Como visualizar cabeçalhos usando o Curl?

Antes de baixar um arquivo ou armazená-lo em cache, é necessário coletar informações sobre a página/arquivo que será acessado. Por exemplo, um arquivo PDF está hospedado em um site e é necessário saber seu nome, tamanho e a data da última modificação do arquivo. Para isso, digite o seguinte comando:

curl -lkI

Screenshot №5 — Cabeçalho do arquivo

O campo MIME content-type classifica o arquivo como PDF. O próximo campo, last-modified, contém a data da última modificação, e o campo content-length contém o tamanho do corpo do documento.

Download interrompido continuado

Suponha que você começou a baixar um arquivo e, acidentalmente, cancelou o download. Se a linha Accept-Ranges: bytes estiver presente nos cabeçalhos de resposta do servidor, você pode usar a função para continuar o download cancelado. Para isso, o -c parameter deve ser adicionado à lista usual de opções ao baixar com -Lko, o que permitirá continuar o download:

Screenshot №6 — Continuar download

O arquivo será salvo no diretório onde o usuário está localizado no momento.

Como alterar o User-Agent ou outro cabeçalho?

Ao trabalhar com um servidor web, pode ser necessário implementar cabeçalhos personalizados. Para isso, o curl tem a -H option, que permitirá adicionar um cabeçalho com um valor:

curl -LkvH "x-os-client: MacOS"

Screenshot №7 — Cabeçalho personalizado

Há uma opção separada, -A, para personalizar o campo User-Agent de forma semelhante. Deve-se especificar um novo valor de agente, por exemplo, o comando pode ter o seguinte formato:

curl -LkvA "MacOS" [.code]

Screenshot №8 — User-Agent

O uso do CURL facilita diversas operações de rede e oferece ao usuário flexibilidade e controle ao interagir com servidores. Graças às suas capacidades, os usuários podem executar uma variedade de tarefas relacionadas à troca de dados de forma eficiente.