{"id":926183,"date":"2024-11-12T02:41:02","date_gmt":"2024-11-12T02:41:02","guid":{"rendered":"https:\/\/proxyelite.info\/?p=926183"},"modified":"2024-11-12T02:41:02","modified_gmt":"2024-11-12T02:41:02","slug":"how-to-send-http-headers-with-curl","status":"publish","type":"post","link":"https:\/\/proxyelite.info\/pt\/how-to-send-http-headers-with-curl\/","title":{"rendered":"Como enviar cabe\u00e7alhos HTTP com cURL?"},"content":{"rendered":"<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Op\u00e7\u00e3o cURL<\/th><th>Descri\u00e7\u00e3o<\/th><th>Exemplo de uso<\/th><\/tr><\/thead><tbody><tr><td><code data-no-translation=\"\">-H<\/code>, <code data-no-translation=\"\">--header<\/code><\/td><td>Passar cabe\u00e7alho(s) personalizado(s) para o servidor<\/td><td><code data-no-translation=\"\">curl -H \"Header: Value\" http:\/\/example.com<\/code><\/td><\/tr><tr><td><code data-no-translation=\"\">-A<\/code>, <code data-no-translation=\"\">--user-agent<\/code><\/td><td>Defina a sequ\u00eancia de caracteres do agente do usu\u00e1rio<\/td><td><code data-no-translation=\"\">curl -A \"MyAgent\" http:\/\/example.com<\/code><\/td><\/tr><tr><td><code data-no-translation=\"\">-e<\/code>, <code data-no-translation=\"\">--referer<\/code><\/td><td>Defina o cabe\u00e7alho Referer<\/td><td><code data-no-translation=\"\">curl -e \"http:\/\/referrer.com\" http:\/\/example.com<\/code><\/td><\/tr><tr><td><code data-no-translation=\"\">-b<\/code>, <code data-no-translation=\"\">--cookie<\/code><\/td><td>Enviar cookies de string ou arquivo<\/td><td><code data-no-translation=\"\">curl -b \"name=value\" http:\/\/example.com<\/code><\/td><\/tr><tr><td><code data-no-translation=\"\">-d<\/code>, <code data-no-translation=\"\">--data<\/code><\/td><td>Enviar dados em uma solicita\u00e7\u00e3o POST<\/td><td><code data-no-translation=\"\">curl -d \"key=value\" http:\/\/example.com<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Enviar cabe\u00e7alhos HTTP personalizados com cURL \u00e9 essencial para testar e depurar aplicativos da web. Neste artigo, exploraremos como enviar cabe\u00e7alhos HTTP usando cURL, uma ferramenta de linha de comando poderosa para transferir dados com URLs.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Compreendendo os cabe\u00e7alhos HTTP<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Cabe\u00e7alhos HTTP s\u00e3o pares de chave-valor enviados em solicita\u00e7\u00f5es e respostas entre clientes e servidores. Eles transmitem meta-informa\u00e7\u00f5es sobre a solicita\u00e7\u00e3o ou resposta, como tipo de conte\u00fado, credenciais de autoriza\u00e7\u00e3o e diretivas de cache. Cabe\u00e7alhos HTTP comuns incluem:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Nome do Cabe\u00e7alho<\/th><th>Prop\u00f3sito<\/th><\/tr><\/thead><tbody><tr><td><code data-no-translation=\"\">User-Agent<\/code><\/td><td>Identifica o software cliente<\/td><\/tr><tr><td><code data-no-translation=\"\">Accept<\/code><\/td><td>Especifica tipos de conte\u00fado aceit\u00e1veis<\/td><\/tr><tr><td><code data-no-translation=\"\">Authorization<\/code><\/td><td>Cont\u00e9m credenciais para autentica\u00e7\u00e3o<\/td><\/tr><tr><td><code data-no-translation=\"\">Content-Type<\/code><\/td><td>Indica o tipo de m\u00eddia do recurso<\/td><\/tr><tr><td><code data-no-translation=\"\">Referer<\/code><\/td><td>O endere\u00e7o da p\u00e1gina da web anterior<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Por que enviar cabe\u00e7alhos HTTP personalizados com cURL?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Cabe\u00e7alhos HTTP personalizados permitem que voc\u00ea:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Simule solicita\u00e7\u00f5es de diferentes navegadores ou dispositivos.<\/li>\n\n\n\n<li>Teste APIs que exigem cabe\u00e7alhos espec\u00edficos.<\/li>\n\n\n\n<li>Depure problemas modificando cabe\u00e7alhos.<\/li>\n\n\n\n<li>Controle o cache e a negocia\u00e7\u00e3o de conte\u00fado.<\/li>\n\n\n\n<li>Autentique solicita\u00e7\u00f5es para recursos protegidos.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Enviando cabe\u00e7alhos HTTP com cURL<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Usando o <code data-no-translation=\"\">-H<\/code> ou <code data-no-translation=\"\">--header<\/code> Op\u00e7\u00e3o<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Para enviar um cabe\u00e7alho HTTP personalizado com cURL, use o <code data-no-translation=\"\">-H<\/code> ou <code data-no-translation=\"\">--header<\/code> op\u00e7\u00e3o seguida do cabe\u00e7alho:<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code data-no-translation=\"\">curl -H &quot;Header-Name: Header-Value&quot; http:\/\/example.com\n<\/code><\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">V\u00e1rios Cabe\u00e7alhos<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Voc\u00ea pode enviar v\u00e1rios cabe\u00e7alhos especificando v\u00e1rios <code data-no-translation=\"\">-H<\/code> op\u00e7\u00f5es:<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code data-no-translation=\"\">curl -H &quot;First-Header: Value1&quot; -H &quot;Second-Header: Value2&quot; http:\/\/example.com\n<\/code><\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Substituindo ou modificando cabe\u00e7alhos padr\u00e3o<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">cURL envia automaticamente certos cabe\u00e7alhos como <code data-no-translation=\"\">Host<\/code> e <code data-no-translation=\"\">User-Agent<\/code>. Para substituir um cabe\u00e7alho padr\u00e3o, especifique-o com um novo valor. Por exemplo, para alterar o <code data-no-translation=\"\">User-Agent<\/code>:<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code data-no-translation=\"\">curl -H &quot;User-Agent: MyCustomAgent&quot; http:\/\/example.com\n<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Se voc\u00ea quiser remover um cabe\u00e7alho, defina-o como uma string vazia:<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code data-no-translation=\"\">curl -H &quot;Accept:&quot; http:\/\/example.com\n<\/code><\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Exemplos de envio de cabe\u00e7alhos HTTP com cURL<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Exemplo: Configurando User-Agent<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">O <code data-no-translation=\"\">User-Agent<\/code> header identifica o software cliente. Para defini-lo:<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code data-no-translation=\"\">curl -H &quot;User-Agent: Mozilla\/5.0&quot; http:\/\/example.com\n<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Alternativamente, voc\u00ea pode usar o <code data-no-translation=\"\">-A<\/code> op\u00e7\u00e3o:<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code data-no-translation=\"\">curl -A &quot;Mozilla\/5.0&quot; http:\/\/example.com\n<\/code><\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Exemplo: Adicionando Cabe\u00e7alho de Autoriza\u00e7\u00e3o<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Para APIs que exigem autentica\u00e7\u00e3o, pode ser necess\u00e1rio enviar um <code data-no-translation=\"\">Authorization<\/code> cabe\u00e7alho:<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code data-no-translation=\"\">curl -H &quot;Authorization: Bearer your_token_here&quot; http:\/\/api.example.com\n<\/code><\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Exemplo: Definindo Content-Type para solicita\u00e7\u00f5es POST<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Ao enviar dados em uma solicita\u00e7\u00e3o POST, pode ser necess\u00e1rio especificar o <code data-no-translation=\"\">Content-Type<\/code> cabe\u00e7alho:<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code data-no-translation=\"\">curl -d &#39;{&quot;key&quot;:&quot;value&quot;}&#39; -H &quot;Content-Type: application\/json&quot; http:\/\/example.com\/api\n<\/code><\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Exemplo: Usando cabe\u00e7alhos personalizados com proxies<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Se estiver usando um proxy para enviar suas solicita\u00e7\u00f5es, voc\u00ea pode combinar op\u00e7\u00f5es de proxy com cabe\u00e7alhos personalizados:<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code data-no-translation=\"\">curl -x http:\/\/proxyelite.info:8080 -H &quot;Custom-Header: Value&quot; http:\/\/example.com\n<\/code><\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Dicas e Melhores Pr\u00e1ticas<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Coloque os cabe\u00e7alhos entre aspas<\/strong>: Sempre coloque os valores do cabe\u00e7alho entre aspas para evitar a interpreta\u00e7\u00e3o do shell, especialmente quando eles cont\u00eam espa\u00e7os ou caracteres especiais.<\/li>\n\n\n\n<li><strong>Modo verboso<\/strong>: Use o modo detalhado <code data-no-translation=\"\">-v<\/code> para ver os cabe\u00e7alhos enviados e recebidos. Isso \u00e9 \u00fatil para depura\u00e7\u00e3o:<\/li>\n<\/ul>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code data-no-translation=\"\">curl -v -H &quot;Header: Value&quot; http:\/\/example.com\n<\/code><\/pre><\/div>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Dados sens\u00edveis<\/strong>: Tenha cuidado ao enviar dados confidenciais em cabe\u00e7alhos, especialmente ao compartilhar exemplos de comandos ou logs.<\/li>\n\n\n\n<li><strong>Cabe\u00e7alhos Padr\u00e3o<\/strong>: Lembre-se de que o cURL envia alguns cabe\u00e7alhos padr\u00e3o. Sobrescrev\u00ea-los pode afetar como o servidor responde.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Erros comuns a evitar<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Cita\u00e7\u00f5es ausentes<\/strong>: Esquecer aspas nos cabe\u00e7alhos pode levar a erros ou comportamento inesperado.<\/li>\n\n\n\n<li><strong>Sintaxe de cabe\u00e7alho incorreta<\/strong>: Os cabe\u00e7alhos devem estar no formato <code data-no-translation=\"\">Header-Name: Value<\/code>.<\/li>\n\n\n\n<li><strong>Sensibilidade a mai\u00fasculas e min\u00fasculas<\/strong>:Embora os nomes dos cabe\u00e7alhos n\u00e3o diferenciem mai\u00fasculas de min\u00fasculas, \u00e9 uma boa pr\u00e1tica usar a capitaliza\u00e7\u00e3o padr\u00e3o.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Conclus\u00e3o<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Enviar cabe\u00e7alhos HTTP com cURL \u00e9 simples e poderoso. N\u00e3o importa se voc\u00ea est\u00e1 testando APIs ou simulando clientes diferentes, dominar as op\u00e7\u00f5es de cabe\u00e7alho do cURL aumenta sua capacidade de interagir com servidores web de forma eficaz.<\/p>","protected":false},"excerpt":{"rendered":"<p>cURL Option Description Usage Example -H, &#8211;header Pass custom header(s) to server curl -H &#8220;Header: Value&#8221; http:\/\/example.com -A, &#8211;user-agent Set the User-Agent string curl -A &#8220;MyAgent&#8221; http:\/\/example.com -e, &#8211;referer Set the Referer header curl -e &#8220;http:\/\/referrer.com&#8221; http:\/\/example.com -b, &#8211;cookie Send cookies from string or file curl -b &#8220;name=value&#8221; http:\/\/example.com -d, &#8211;data Send data in a [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":926184,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-926183","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-articles"],"acf":[],"_links":{"self":[{"href":"https:\/\/proxyelite.info\/pt\/wp-json\/wp\/v2\/posts\/926183","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/proxyelite.info\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/proxyelite.info\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/proxyelite.info\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/proxyelite.info\/pt\/wp-json\/wp\/v2\/comments?post=926183"}],"version-history":[{"count":1,"href":"https:\/\/proxyelite.info\/pt\/wp-json\/wp\/v2\/posts\/926183\/revisions"}],"predecessor-version":[{"id":926185,"href":"https:\/\/proxyelite.info\/pt\/wp-json\/wp\/v2\/posts\/926183\/revisions\/926185"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/proxyelite.info\/pt\/wp-json\/wp\/v2\/media\/926184"}],"wp:attachment":[{"href":"https:\/\/proxyelite.info\/pt\/wp-json\/wp\/v2\/media?parent=926183"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/proxyelite.info\/pt\/wp-json\/wp\/v2\/categories?post=926183"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/proxyelite.info\/pt\/wp-json\/wp\/v2\/tags?post=926183"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}