---
title: "Como enviar cabeçalhos HTTP com cURL"
slug: http-headers-with-curl
date: 2026-02-22T07:24:39+00:00
modified: 2026-02-22T07:24:40+00:00
permalink: https://brightdata.com.br/blog/procedimentos/http-headers-with-curl
type: blog
---

[ Blog ](https://brightdata.com.br/blog "Blog") / [procedimentos](https://brightdata.com.br/blog/procedimentos)







 [procedimentos](https://brightdata.com.br/blog/procedimentos)

# Como enviar cabeçalhos HTTP com cURL

Explore o poder dos cabeçalhos HTTP no Scraping de dados da web e aprenda a usar o curl para enviar cabeçalhos personalizados com eficiência, aprimorando a coleta de dados e a interação com o servidor.

 9 min de leitura





 [ ![Bright Data favicon](https://media.brightdata.com.br/2021/05/favicon.svg) ](https://brightdata.com/blog/authors/ndafara-tsamba)

 [Ndafara Tsamba

 ](https://brightdata.com/blog/authors/ndafara-tsamba)





 ![How to Send HTTP Headers with cURL main blog image](https://media.brightdata.com.br/2024/04/How-to-Send-HTTP-Headers-with-cURL.svg)





O Protocolo de Transferência de Hipertexto (HTTP) é um [protocolo sem estado](https://byjus.com/gate/difference-between-stateless-and-stateful-protocol/) que segue o modelo cliente-servidor, no qual um cliente faz uma solicitação e aguarda uma resposta do servidor. A solicitação inclui detalhes como o método HTTP, a localização do servidor, o caminho, a string de consulta e os cabeçalhos.

Os cabeçalhos HTTP são campos ou listas de strings como pares de chave-valor que facilitam a transmissão de metadados e instruções. Eles são fundamentais para definir parâmetros como tipo de conteúdo, comportamento de cache e autenticação, garantindo interações eficientes e seguras entre clientes e servidores. No [Scraping de dados da web](/blog/how-tos/what-is-web-scraping), os cabeçalhos HTTP permitem personalizar solicitações, permitindo que os Scrapers de dados da web imitem agentes de usuário, controlem a negociação de conteúdo e lidem com a autenticação de acordo com as políticas e protocolos do site.

Alguns casos de uso comuns de cabeçalhos HTTP no Scraping de dados incluem alterar o agente do usuário (UA) ou o tipo de resposta, realizar solicitações condicionais e autenticar em APIs.

Neste artigo, você aprenderá como enviar cabeçalhos HTTP com[o curl](/faqs/curl/what-is-curl).

## Enviando cabeçalhos HTTP com cURL

Antes de iniciar este tutorial, verifique se o curl está instalado em seu sistema operacional executando o seguinte comando em seu terminal:

```none
curl --version

```

Se estiver instalado, você verá um número de versão na saída, assim:

```none
curl 7.55.1 (Windows) libcurl/7.55.1 WinSSL
Data de lançamento: [não lançado]
Protocolos: dict file ftp ftps http https imap imaps pop3 pop3s smtp smtps telnet tftp
Recursos: AsynchDNS IPv6 Largefile SSPI Kerberos SPNEGO NTLM SSL

```

Se você receber uma mensagem de erro, como`curl não é reconhecido como um comando interno ou externo, programa operável ou arquivo em lote`ou`comando não encontrado`, então você precisa[instalar o curl](https://curl.se/download.html).

Você também precisa de uma ferramenta para inspecionar cabeçalhos, como[httpbin.org](http://httpbin.org/), que é um serviço simples de solicitação e resposta HTTP.

Se você já trabalhou com o curl antes, sabe que a sintaxe do curl é assim:

```none
curl [opções] [url]

```

Isso significa que, se você quiser baixar uma página da web do site `mywebpage.com`, precisará executar o seguinte comando:

```none
curl www.mywebpage.com

```

## Cabeçalhos cURL

Para visualizar os cabeçalhos enviados pelo curl usando httpbin.org, abra sua linha de comando e execute o seguinte:

```none
curl http://httpbin.org/headers

```

Sua saída deve incluir uma lista dos cabeçalhos:

```none
{
  "headers": {
    "Accept": "*/*",
    "Host": "httpbin.org",
    "User-Agent": "curl/7.55.1",
    "X-Amzn-Trace-Id": "Root=1-65fd2eb0-0617353714d52f3777c9c267"
  }

```

Os cabeçalhos `Accept`, `Host` e `User-Agent` são enviados por padrão com o curl.

O cabeçalho `Accept` informa ao servidor quais tipos de mídia o cliente pode aceitar. Ele comunica ao servidor os tipos de conteúdo que o cliente está disposto a aceitar, permitindo a negociação de conteúdo entre o cliente e o servidor.

Um cabeçalho `Accept` que mostra que o cliente prefere JSON tem a seguinte aparência:

```none
Accept: application/json

```

O campo `User-Agent` contém os detalhes do seu cliente, que, neste caso, é o aplicativo curl executando a versão 7.55.1 (este número de versão corresponderá à sua versão).

O cabeçalho `Host` identifica de forma exclusiva o domínio da web (*ou seja,* o host) e a porta para a qual a solicitação HTTP está sendo enviada. Se não houver uma porta incluída na solicitação, os padrões serão assumidos (*ou seja*, porta 80 para HTTP e porta 443 para HTTPS).

`X-Amzn-Trace-Id` é o único cabeçalho na saída que não é um cabeçalho padrão. Esse cabeçalho mostra que sua solicitação foi enviada a um serviço da Amazon Web Services (AWS), como um balanceador de carga da AWS, e pode ser usado para rastrear solicitações HTTP.

Para verificar se esses cabeçalhos foram enviados pelo curl por padrão, você pode usar o modo `verboso`. O sinalizador para isso é `-v` ou `--verbose` e exibe informações detalhadas sobre a solicitação e a resposta, incluindo os cabeçalhos.

Execute o seguinte comando para visualizar os cabeçalhos padrão enviados pelo curl:

```none
curl -v http://httpbin.org/headers

```

Sua saída deve ser semelhante a esta:

```none
* Tentando 50.16.63.240...
* TCP_NODELAY definido
* Conectado a httpbin.org (50.16.63.240) porta 80 (#0)
> GET /headers HTTP/1.1
> Host: httpbin.org
> User-Agent: curl/7.55.1
> Aceitar: */*
>
< HTTP/1.1 200 OK
< Data: Sexta-feira, 22 de março de 2024, 07:18:00 GMT
< Tipo de conteúdo: application/json
< Comprimento do conteúdo: 173
< Conexão: manter ativa
< Servidor: gunicorn/19.9.0
< Access-Control-Allow-Origin: *
< Access-Control-Allow-Credentials: true
<
{
  "headers": {
    "Accept": "*/*",
    "Host": "httpbin.org",
    "User-Agent": "curl/7.55.1",
    "X-Amzn-Trace-Id": "Root=1-65fd30a8-624365ad52781957578cd5b1"
  }
}
* Conexão #0 com o host httpbin.org mantida intacta

```

As linhas com um sinal maior que (&gt;) mostram o que seu cliente (curl) enviou para o endpoint. Essa saída confirma que os seguintes cabeçalhos foram enviados:

- `GET`(método HTTP) para o endpoint/cabeçalhos
- `Host`com o valor`httpbin.org`
- `User-Agent`com o valor`curl/7.55.1`
- `Accept`com o valor`*/*`

Na saída, as linhas com um sinal menor que, como `< Content-Type: application/json`, são reflexos dos cabeçalhos que você enviou.

## <a></a>Alterar os cabeçalhos padrão usando o sinalizador -H

O sinalizador `-H` ou `--header` é usado para passar cabeçalhos personalizados para o servidor e também pode ser usado para testes.

Por exemplo, para alterar o `User-Agent` de `curl/7.55.1` para `Seu-Novo-User-Agent`, use o seguinte comando:

```none
curl -H "User-Agent: Your-New-User-Agent" http://httpbin.org/headers

```

Sua saída ficará assim:

```none
{
  "headers": {
    "Accept": "*/*",
    "Host": "httpbin.org",
    "User-Agent": "Your-New-User-Agent",
    "X-Amzn-Trace-Id": "Root=1-65fd5123-3ebe566a4681427c6996c72c"
  }
}

```

Se você quiser alterar o cabeçalho `Accept` de `*/*`, que aceita qualquer tipo de conteúdo, para `application/json`, que aceita apenas conteúdo no formato JSON, use o seguinte comando:

```none
curl --header "Accept: application/json" http://httpbin.org/headers

```

Sua saída ficará assim:

```none
{
  "headers": {
    "Accept": "application/json",
    "Host": "httpbin.org",
    "User-Agent": "curl/7.55.1",
    "X-Amzn-Trace-Id": "Root=1-65fd55c3-05c21f81770c1c5e6343b1fc"
  }
}

```

> **Observação:** no segundo exemplo, `--header` foi usado em vez de `-H`. `--header` e `-H` são intercambiáveis e desempenham a mesma função.

Desde a versão 7.55.0 do curl, você também pode passar um arquivo com seus cabeçalhos. Por exemplo, se o nome do arquivo com seus cabeçalhos for `header_file`, você pode usar o seguinte comando para passar um arquivo com seus cabeçalhos:

```none
Curl -H @header_file

```

## <a></a>Enviar cabeçalhos personalizados

Os cabeçalhos personalizados são definidos pelos desenvolvedores e incluem informações adicionais sobre as solicitações HTTP além das fornecidas pelos cabeçalhos padrão.

Para enviar um cabeçalho personalizado com o curl, você pode usar o sinalizador `-H`. Por exemplo, se você deseja enviar um cabeçalho personalizado chamado `My-Custom-Header` com o valor `value do cabeçalho personalizado`, execute o seguinte comando:

```none
curl -H "My-Custom-Header: Value of custom header" http://httpbin.org/headers

```

Sua saída será semelhante a esta:

```none
{
  "headers": {
    "Accept": "*/*",
    "Host": "httpbin.org",
    "My-Custom-Header": "Value of custom header",
    "User-Agent": "curl/7.55.1",
    "X-Amzn-Trace-Id": "Root=1-65fd7d2a-3b683be160ff2965023b3a31"
  }
}

```

## <a></a>Enviar cabeçalhos vazios

Existem cenários em que é necessário enviar cabeçalhos vazios, como para cumprir requisitos específicos da API que exigem determinados cabeçalhos, mesmo que eles não tenham nenhum conteúdo. Por exemplo, o[cabeçalho HTTP Strict Transport Security (HSTS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security)é usado para impor conexões HTTPS seguras em sites. Embora esse cabeçalho geralmente inclua diretivas sobre a duração e o comportamento do HSTS, enviá-lo com um valor vazio garante a aplicação imediata do HSTS.

Você também pode usar cabeçalhos vazios para limpar ou redefinir cabeçalhos. Por exemplo, se você deseja redefinir ou limpar um cabeçalho que foi definido anteriormente por padrão, o envio de um cabeçalho vazio pode limpar o valor do cabeçalho.

Para enviar um cabeçalho vazio com o curl, você precisa especificar o nome do cabeçalho seguido por um ponto-e-vírgula para indicar um valor vazio. O comando a seguir mostra como você pode enviar um cabeçalho personalizado vazio chamado `My-Custom-Header`:

```none
curl -H "My-Custom-Header;" http://httpbin.org/headers

```

A saída mostra `My-Custom-Header` com um valor vazio:

```none
{
  "headers": {
    "Accept": "*/*",
    "Host": "httpbin.org",
    "My-Custom-Header": "",
    "User-Agent": "curl/7.55.1",
    "X-Amzn-Trace-Id": "Root=1-65fd84e2-7a42d9d62a42741e448c426f"
  }
}

```

## <a></a>Remover um cabeçalho

Para remover um cabeçalho com o curl, você precisa especificar o nome do cabeçalho seguido por dois pontos, sem nenhum valor.

Por exemplo, para remover o cabeçalho `User-Agent` padrão, envie o seguinte comando:

```none
curl -H "User-Agent:" http://httpbin.org/headers

```

A resposta não contém o cabeçalho `User-Agent`, o que confirma que o cabeçalho foi removido:

```none
{
  "headers": {
    "Accept": "*/*",
    "Host": "httpbin.org",
    "X-Amzn-Trace-Id": "Root=1-65fd862d-13b181583501ae11046374a1"
  }
}

```

## <a></a>Enviar vários cabeçalhos

Até agora, você viu exemplos que incluem apenas um cabeçalho, mas é possível enviar mais de um cabeçalho com o curl. Tudo o que você precisa fazer é incluir o sinalizador `-H` várias vezes.

Por exemplo, se você deseja enviar dois cabeçalhos (`Custom-Header-1` e `Custom-Header-2`) com os valores `um` e `dois`, respectivamente, execute o seguinte comando:

```none
curl -H "Custom-Header-1: um" -H "Custom-Header-2: dois" http://httpbin.org/headers

```

Sua saída ficará assim:

```none
{
  "headers": {
    "Accept": "*/*",
    "Custom-Header-1": "one",
    "Custom-Header-2": "two",
    "Host": "httpbin.org",
    "User-Agent": "curl/7.55.1",
    "X-Amzn-Trace-Id": "Root=1-65fd8781-143be3502c559bc5605fc6f1"
  }
}

```

## <a></a>Conclusão

Neste artigo, você aprendeu sobre cabeçalhos HTTP e como enviá-los com o curl.

Se você está procurando uma solução abrangente de Scraping de dados, experimente[o Bright Data](/). Ele oferece ferramentas e serviços como[serviços de Proxy](/proxy-types), que ajudam a garantir o anonimato e impedir o bloqueio de IP, e[o Web Unlocker](/products/web-unlocker), que ajuda você a acessar conteúdo restrito geograficamente [sem CAPTCHAs](/products/web-unlocker/captcha-solver).

Comece hoje mesmo seu teste grátis!



Contate-nosTeste grátis![google social icon](/wp-content/themes/brightdata/assets/images/ic_google.svg)









 Índice







Dedicated Scraper APIs &amp; No-Code Scrapers

Over 1000 scrapers for all popular domains. Simplify your web scraping.

[See pricing](/pricing/web-scraper "See pricing")

Just want data? Skip scraping.

Hundreds of ready-to-use datasets from all popular domains.

[See pricing](/pricing/datasets "See pricing")







 [ ](https://news.ycombinator.com/submitlink?t=Como+enviar+cabe%C3%A7alhos+HTTP+com+cURL&u=https://brightdata.com.br/blog/procedimentos/http-headers-with-curl) [ ](https://www.linkedin.com/shareArticle?mini=true&title=Como+enviar+cabe%C3%A7alhos+HTTP+com+cURL&url=https://brightdata.com.br/blog/procedimentos/http-headers-with-curl) [ ](http://www.reddit.com/submit?title=Como+enviar+cabe%C3%A7alhos+HTTP+com+cURL&url=https://brightdata.com.br/blog/procedimentos/http-headers-with-curl)







##  Você também pode estar interessado em

 [ ![curl post request guide](https://media.brightdata.com.br/2023/12/curl-GET-Request-Guide-1.svg) ](https://brightdata.com.br/blog/procedimentos/curl-post-request-guide "Guia de pedidos POST com curl")

 [procedimentos



 ![White number one with a flame on top.](https://media.brightdata.com.br/2023/03/Favicon-2-1-50x50.png)

Ivan Kahl





### Guia de pedidos POST com curl

Saiba mais sobre o pedido POST com cURL, o que é, como enviar um pedido POST com cURL e muito mais.



 06-Dec-2023

 12 min de leitura

 ](https://brightdata.com.br/blog/procedimentos/curl-post-request-guide)

 [ ![Guide to using cURL with Python](https://media.brightdata.com.br/2023/04/Guide-to-Using-cURL-with-Python.svg) ](https://brightdata.com.br/blog/procedimentos/curl-with-python "Guia para usar cURL com Python")

 [procedimentos



 ![](https://media.brightdata.com.br/2023/04/Roel-Peters-50x50.png)

Roel Peters





### Guia para usar cURL com Python

Neste artigo, aprenderá como o Python e o cURL podem ser utilizados em conjunto para automatizar pedidos GET, POST e PUT, e para descarregar ficheiros e páginas web.



 13-Apr-2023

 13 min de leitura

 ](https://brightdata.com.br/blog/procedimentos/curl-with-python)

 [ ![](https://media.brightdata.com.br/2022/11/How-to-Scrape-with-Python.svg) ](https://brightdata.com.br/blog/procedimentos/web-scraping-with-python "Raspagem da Web com Python: Guia Passo-a-Passo")

 [procedimentos



 ![Antonello Zanini](https://media.brightdata.com.br/2022/12/Antonello-Zanini-2-50x50.jpg)

Antonello Zanini

Technical Writer





### Raspagem da Web com Python: Guia Passo-a-Passo

Aprenda a executar a raspagem da web com Python de modo a coletar dados de múltiplos sítios web rapidamente, poupando tempo e esforço.



 29-Nov-2022

 19 min de leitura

 ](https://brightdata.com.br/blog/procedimentos/web-scraping-with-python)
