{"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\/fr\/how-to-send-http-headers-with-curl\/","title":{"rendered":"Comment envoyer des en-t\u00eates HTTP avec cURL\u00a0?"},"content":{"rendered":"<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Option cURL<\/th><th>Description<\/th><th>Exemple d&#039;utilisation<\/th><\/tr><\/thead><tbody><tr><td><code data-no-translation=\"\">-H<\/code>, <code data-no-translation=\"\">--header<\/code><\/td><td>Transmettre les en-t\u00eates personnalis\u00e9s au serveur<\/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>D\u00e9finir la cha\u00eene User-Agent<\/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>D\u00e9finir l&#039;en-t\u00eate du r\u00e9f\u00e9rent<\/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>Envoyer des cookies \u00e0 partir d&#039;une cha\u00eene ou d&#039;un fichier<\/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>Envoyer des donn\u00e9es dans une requ\u00eate 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\">L&#039;envoi d&#039;en-t\u00eates HTTP personnalis\u00e9s avec cURL est essentiel pour tester et d\u00e9boguer des applications Web. Dans cet article, nous allons d\u00e9couvrir comment envoyer des en-t\u00eates HTTP \u00e0 l&#039;aide de cURL, un puissant outil de ligne de commande permettant de transf\u00e9rer des donn\u00e9es avec des URL.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Comprendre les en-t\u00eates HTTP<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Les en-t\u00eates HTTP sont des paires cl\u00e9-valeur envoy\u00e9es dans les requ\u00eates et les r\u00e9ponses entre les clients et les serveurs. Ils transmettent des m\u00e9ta-informations sur la requ\u00eate ou la r\u00e9ponse, telles que le type de contenu, les informations d&#039;identification d&#039;autorisation et les directives de mise en cache. Les en-t\u00eates HTTP courants incluent\u00a0:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Nom de l&#039;en-t\u00eate<\/th><th>But<\/th><\/tr><\/thead><tbody><tr><td><code data-no-translation=\"\">User-Agent<\/code><\/td><td>Identifie le logiciel client<\/td><\/tr><tr><td><code data-no-translation=\"\">Accept<\/code><\/td><td>Sp\u00e9cifie les types de contenu acceptables<\/td><\/tr><tr><td><code data-no-translation=\"\">Authorization<\/code><\/td><td>Contient les informations d&#039;identification pour l&#039;authentification<\/td><\/tr><tr><td><code data-no-translation=\"\">Content-Type<\/code><\/td><td>Indique le type de m\u00e9dia de la ressource<\/td><\/tr><tr><td><code data-no-translation=\"\">Referer<\/code><\/td><td>L&#039;adresse de la page Web pr\u00e9c\u00e9dente<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Pourquoi envoyer des en-t\u00eates HTTP personnalis\u00e9s avec cURL\u00a0?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Les en-t\u00eates HTTP personnalis\u00e9s vous permettent de\u00a0:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Simulez des requ\u00eates provenant de diff\u00e9rents navigateurs ou appareils.<\/li>\n\n\n\n<li>Tester les API qui n\u00e9cessitent des en-t\u00eates sp\u00e9cifiques.<\/li>\n\n\n\n<li>D\u00e9boguer les probl\u00e8mes en modifiant les en-t\u00eates.<\/li>\n\n\n\n<li>Contr\u00f4lez la mise en cache et la n\u00e9gociation du contenu.<\/li>\n\n\n\n<li>Authentifier les demandes adress\u00e9es aux ressources prot\u00e9g\u00e9es.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Envoi d&#039;en-t\u00eates HTTP avec cURL<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">En utilisant le <code data-no-translation=\"\">-H<\/code> ou <code data-no-translation=\"\">--header<\/code> Option<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Pour envoyer un en-t\u00eate HTTP personnalis\u00e9 avec cURL, utilisez le <code data-no-translation=\"\">-H<\/code> ou <code data-no-translation=\"\">--header<\/code> option suivie de l&#039;en-t\u00eate :<\/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\">En-t\u00eates multiples<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Vous pouvez envoyer plusieurs en-t\u00eates en sp\u00e9cifiant plusieurs <code data-no-translation=\"\">-H<\/code> options:<\/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\">Remplacement ou modification des en-t\u00eates par d\u00e9faut<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">cURL envoie automatiquement certains en-t\u00eates comme <code data-no-translation=\"\">Host<\/code> et <code data-no-translation=\"\">User-Agent<\/code>. Pour remplacer un en-t\u00eate par d\u00e9faut, sp\u00e9cifiez-le avec une nouvelle valeur. Par exemple, pour modifier le <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\">Si vous souhaitez supprimer un en-t\u00eate, d\u00e9finissez-le sur une cha\u00eene vide\u00a0:<\/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\">Exemples d&#039;envoi d&#039;en-t\u00eates HTTP avec cURL<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Exemple\u00a0: D\u00e9finition de l&#039;agent utilisateur<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Le <code data-no-translation=\"\">User-Agent<\/code> L&#039;en-t\u00eate identifie le logiciel client. Pour le d\u00e9finir\u00a0:<\/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\">Alternativement, vous pouvez utiliser le <code data-no-translation=\"\">-A<\/code> option:<\/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\">Exemple\u00a0: Ajout d&#039;un en-t\u00eate d&#039;autorisation<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Pour les API qui n\u00e9cessitent une authentification, vous devrez peut-\u00eatre envoyer un <code data-no-translation=\"\">Authorization<\/code> en-t\u00eate:<\/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\">Exemple\u00a0: D\u00e9finition du type de contenu pour les requ\u00eates POST<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Lors de l&#039;envoi de donn\u00e9es dans une requ\u00eate POST, vous devrez peut-\u00eatre sp\u00e9cifier le <code data-no-translation=\"\">Content-Type<\/code> en-t\u00eate:<\/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\">Exemple\u00a0: utilisation d&#039;en-t\u00eates personnalis\u00e9s avec des proxys<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Si vous utilisez un proxy pour envoyer vos requ\u00eates, vous pouvez combiner des options de proxy avec des en-t\u00eates personnalis\u00e9s\u00a0:<\/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\">Conseils et bonnes pratiques<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Entourer les en-t\u00eates de guillemets<\/strong>: Placez toujours les valeurs d&#039;en-t\u00eate entre guillemets pour \u00e9viter toute interpr\u00e9tation du shell, en particulier lorsqu&#039;elles contiennent des espaces ou des caract\u00e8res sp\u00e9ciaux.<\/li>\n\n\n\n<li><strong>Mode verbeux<\/strong>:Utiliser le mode verbeux <code data-no-translation=\"\">-v<\/code> pour voir les en-t\u00eates envoy\u00e9s et re\u00e7us. Ceci est utile pour le d\u00e9bogage\u00a0:<\/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>Donn\u00e9es sensibles<\/strong>Soyez prudent lorsque vous envoyez des donn\u00e9es sensibles dans les en-t\u00eates, en particulier lorsque vous partagez des exemples de commandes ou des journaux.<\/li>\n\n\n\n<li><strong>En-t\u00eates par d\u00e9faut<\/strong>: N&#039;oubliez pas que cURL envoie des en-t\u00eates par d\u00e9faut. Leur remplacement peut affecter la fa\u00e7on dont le serveur r\u00e9pond.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Erreurs courantes \u00e0 \u00e9viter<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Citations manquantes<\/strong>:Oublier les guillemets autour des en-t\u00eates peut entra\u00eener des erreurs ou un comportement inattendu.<\/li>\n\n\n\n<li><strong>Syntaxe d&#039;en-t\u00eate incorrecte<\/strong>: Les en-t\u00eates doivent \u00eatre au format <code data-no-translation=\"\">Header-Name: Value<\/code>.<\/li>\n\n\n\n<li><strong>Sensibilit\u00e9 \u00e0 la casse<\/strong>:Bien que les noms d&#039;en-t\u00eate ne soient pas sensibles \u00e0 la casse, il est recommand\u00e9 d&#039;utiliser une majuscule standard.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">L&#039;envoi d&#039;en-t\u00eates HTTP avec cURL est simple et efficace. Que vous testiez des API ou que vous simuliez diff\u00e9rents clients, la ma\u00eetrise des options d&#039;en-t\u00eate de cURL am\u00e9liore votre capacit\u00e9 \u00e0 interagir efficacement avec les serveurs Web.<\/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\/fr\/wp-json\/wp\/v2\/posts\/926183","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/proxyelite.info\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/proxyelite.info\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/proxyelite.info\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/proxyelite.info\/fr\/wp-json\/wp\/v2\/comments?post=926183"}],"version-history":[{"count":1,"href":"https:\/\/proxyelite.info\/fr\/wp-json\/wp\/v2\/posts\/926183\/revisions"}],"predecessor-version":[{"id":926185,"href":"https:\/\/proxyelite.info\/fr\/wp-json\/wp\/v2\/posts\/926183\/revisions\/926185"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/proxyelite.info\/fr\/wp-json\/wp\/v2\/media\/926184"}],"wp:attachment":[{"href":"https:\/\/proxyelite.info\/fr\/wp-json\/wp\/v2\/media?parent=926183"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/proxyelite.info\/fr\/wp-json\/wp\/v2\/categories?post=926183"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/proxyelite.info\/fr\/wp-json\/wp\/v2\/tags?post=926183"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}