Como Enviar Headers HTTP com cURL: Um Guia Completo com Exemplos
Domine o envio e o recebimento de cabeçalhos HTTP usando cURL com este guia completo. Explore exemplos, cabeçalhos personalizados e dicas para solução de problemas.
Neste artigo 11 seções
- Pré-requisitos
- Sintaxe Básica do cURL
- Exemplo 1: Enviando uma Requisição GET com Headers Personalizados
- Exemplo 2: Enviando uma Requisição POST com Dados JSON
- Exemplo 3: Definindo Múltiplos Headers
- Exemplo 4: Envio de Cookies
- Exemplo 5: Seguindo Redirecionamentos
- Exemplo 6: Enviando User-Agent Personalizado
- Exemplo 7: Envio de cabeçalhos de solicitação sem dados
- Exemplo 8: Envio de autenticação básica
- Exemplo 9: Depuração e modo detalhado
Enviar cabeçalhos HTTP com cURL é uma habilidade fundamental para quem trabalha com APIs ou serviços web. Os cabeçalhos HTTP transmitem informações essenciais sobre sua solicitação, como tipo de conteúdo, autorização e muito mais. cURL, uma poderosa ferramenta de linha de comando para fazer solicitações HTTP, permite personalizar e enviar esses cabeçalhos sem esforço. Neste guia, orientaremos você no processo de envio de cabeçalhos HTTP usando cURL, completo com uma variedade de exemplos práticos.

Pré-requisitos#
Antes de prosseguirmos com exemplos, certifique-se de que o cURL está instalado no seu sistema. Você pode verificar se está instalado executando:
curl --version
Se não estiver instalado, você pode baixá-lo no site oficial do cURL.
Sintaxe Básica do cURL#
A sintaxe básica para enviar uma requisição HTTP com cURL é:
curl [options] [URL]
Para incluir headers HTTP na sua requisição, você pode usar a opção -H ou –header seguida pelas informações do header.
Exemplo 1: Enviando uma Requisição GET com Headers Personalizados#
Vamos começar com uma solicitação GET simples para uma API hipotética, incluindo um cabeçalho personalizado. Suponha que você queira incluir um cabeçalho “Autorização” com sua chave de API.
curl -H "Authorization: Bearer YOUR_API_KEY" https://api.example.com/resource
Substitua YOUR_API_KEY pela sua chave de API real.
Exemplo 2: Enviando uma Requisição POST com Dados JSON#
Neste exemplo, enviaremos uma solicitação POST com uma carga JSON e um cabeçalho de tipo de conteúdo personalizado.
curl -X POST -H "Content-Type: application/json" -d '{"name": "John", "email": "[email protected]"}' https://api.example.com/users
Este comando especifica o método de solicitação como POST (-X POST), define o tipo de conteúdo como JSON (-H “Content-Type: application/json”) e inclui os dados JSON com -d.
Exemplo 3: Definindo Múltiplos Headers#
Você pode incluir múltiplos cabeçalhos em uma única solicitação cURL. Aqui, estamos enviando uma requisição com os cabeçalhos „Authorization
curl -H "Authorization: Bearer YOUR_API_KEY" -H "User-Agent: MyClient/1.0" https://api.example.com/resource
Exemplo 4: Envio de Cookies#
Para enviar cookies com sua solicitação, use a opção -b ou –cookie seguida pelos dados do cookie.
curl -b "session=12345; preferences=darkmode" https://api.example.com/dashboard
Este exemplo envia dois cookies: “sessão” e “preferências”.
Exemplo 5: Seguindo Redirecionamentos#
Por padrão, cURL não segue redirecionamentos HTTP. Para ativar o seguimento de redirecionamentos, use a opção -L ou –location.
curl -L https://example.com
Este comando seguirá qualquer redirecionamento e exibirá o conteúdo final da página.
Exemplo 6: Enviando User-Agent Personalizado#
Você pode definir um cabeçalho User-Agent personalizado para identificar sua solicitação.
curl -H "User-Agent: MyCustomApp/1.0" https://api.example.com/resource
Cabeçalhos User-Agent personalizados são úteis ao interagir com APIs que exigem agentes de usuário específicos.
Exemplo 7: Envio de cabeçalhos de solicitação sem dados#
Se precisar enviar um cabeçalho sem corpo de solicitação, você pode usar a opção -I ou –head.
curl -I https://api.example.com/resource
Este comando envia uma solicitação HEAD, que busca apenas os cabeçalhos e não o conteúdo real.
Exemplo 8: Envio de autenticação básica#
Para enviar credenciais de autenticação básica HTTP, você pode incluir um cabeçalho “Autorização” com seu nome de usuário e senha codificados em Base64.
curl -H "Authorization: Basic BASE64_ENCODED_CREDENTIALS" https://api.example.com/resource
Substitua BASE64_ENCODED_CREDENTIALS pelas suas credenciais codificadas em Base64 (por exemplo, username:password).
Exemplo 9: Depuração e modo detalhado#
Ao solucionar problemas ou inspecionar a solicitação e resposta HTTP, você pode usar o modo verbose do cURL com a opção -v ou –verbose.
curl -v https://api.example.com/resource
Isto exibirá informações detalhadas sobre a solicitação e resposta, incluindo cabeçalhos.
Enviar cabeçalhos HTTP com cURL é uma habilidade crucial para trabalhar com serviços web e APIs. Com os exemplos fornecidos neste guia, você pode personalizar suas solicitações, lidar com autenticação, enviar cookies e muito mais. Conforme você se familiarizar com as capacidades do cURL, estará bem preparado para interagir com vários serviços web efetivamente.
