Partager via


HttpAddRequestHeadersA, fonction (wininet.h)

Ajoute un ou plusieurs en-têtes de requête HTTP au handle de requête HTTP.

Syntaxe

BOOL HttpAddRequestHeadersA(
  [in] HINTERNET hRequest,
  [in] LPCSTR    lpszHeaders,
  [in] DWORD     dwHeadersLength,
  [in] DWORD     dwModifiers
);

Paramètres

[in] hRequest

Handle retourné par un appel à la fonction HttpOpenRequest.

[in] lpszHeaders

Pointeur vers une variable de chaîne contenant les en-têtes à ajouter à la requête. Chaque en-tête doit être arrêté par une paire CR/LF (retour chariot/flux de ligne).

[in] dwHeadersLength

Taille de lpszHeaders, dans TCHARs. Si ce paramètre est -1L, la fonction part du principe que lpszHeaders est terminée par zéro (ASCIIZ) et que la longueur est calculée.

[in] dwModifiers

Ensemble de modificateurs qui contrôlent la sémantique de cette fonction. Ce paramètre peut être une combinaison des valeurs suivantes.

Valeur Signification
HTTP_ADDREQ_FLAG_ADD
Ajoute l’en-tête s’il n’existe pas. Utilisé avec HTTP_ADDREQ_FLAG_REPLACE.
HTTP_ADDREQ_FLAG_ADD_IF_NEW
Ajoute l’en-tête uniquement s’il n’existe pas déjà ; sinon, une erreur est retournée.
HTTP_ADDREQ_FLAG_COALESCE
Fusionne les en-têtes du même nom.
HTTP_ADDREQ_FLAG_COALESCE_WITH_COMMA
Fusionne les en-têtes du même nom. Par exemple, l’ajout de « Accept : text/* » suivi de « Accept : audio/* » avec cet indicateur entraîne la formation de l’en-tête unique « Accept : text/*, audio/* ». Cela provoque la fusion du premier en-tête trouvé. Il incombe à l’application appelante de garantir un schéma cohérent en ce qui concerne les en-têtes coalesced/distincts.
HTTP_ADDREQ_FLAG_COALESCE_WITH_SEMICOLON
Fusionne les en-têtes du même nom à l’aide d’un point-virgule.
HTTP_ADDREQ_FLAG_REPLACE
Remplace ou supprime un en-tête. Si la valeur d’en-tête est vide et que l’en-tête est trouvé, il est supprimé. S’il n’est pas vide, la valeur d’en-tête est remplacée.

Valeur de retour

Retourne TRUE en cas de réussite ou FALSE sinon. Pour obtenir des informations d’erreur étendues, appelez GetLastError.

Remarques

HttpAddRequestHeaders ajoute des en-têtes de format libre supplémentaires au handle de requête HTTP et est destiné à être utilisé par des clients sophistiqués qui ont besoin d’un contrôle détaillé sur la requête exacte envoyée au serveur HTTP.

Notez que pour les de base HttpAddRequestHeaders, l’application peut passer plusieurs en-têtes dans une mémoire tampon unique. Si l’application tente de supprimer ou de remplacer un en-tête, un seul en-tête peut être fourni dans lpszHeaders.

Remarque la fonction HttpAddRequestHeadersA représente des en-têtes en tant que caractères ISO-8859-1 et non ansI. La fonction HttpAddRequestHeadersW représente les en-têtes en tant que caractères ISO-8859-1 convertis en caractères UTF-16LE. Par conséquent, il n’est jamais sûr d’utiliser la fonction HttpAddRequestHeadersW lorsque les en-têtes à ajouter peuvent contenir des caractères non ASCII. Au lieu de cela, une application peut utiliser les fonctions MultiByteToWideChar et WideCharToMultiByte avec un paramètre Codepage défini sur 28591 pour mapper les caractères ANSI et UTF-16LE.
 
Comme tous les autres aspects de l’API WinINet, cette fonction ne peut pas être appelée en toute sécurité à partir de DllMain ou des constructeurs et destructeurs d’objets globaux.
Remarque WinINet ne prend pas en charge les implémentations de serveur. En outre, il ne doit pas être utilisé à partir d’un service. Pour les implémentations de serveur ou les services, utilisez Microsoft Windows HTTP Services (WinHTTP).
 

Note

L’en-tête wininet.h définit HttpAddRequestHeaders comme alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

Exigences

Exigence Valeur
client minimum pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
serveur minimum pris en charge Windows 2000 Server [applications de bureau uniquement]
plateforme cible Windows
d’en-tête wininet.h
bibliothèque Wininet.lib
DLL Wininet.dll

Voir aussi

sessions HTTP

fonctions WinINet