Fonction HttpAddRequestHeadersA (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 demande. Chaque en-tête doit être terminé par une paire CR/LF (retour chariot/flux de ligne).

[in] dwHeadersLength

Taille de lpszHeaders, en TCHAR. Si ce paramètre est -1L, la fonction part du principe que lpszHeaders est terminé à 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 entraîne la fusion du premier en-tête. Il appartient à l’application appelante de garantir un schéma cohérent en ce qui concerne les en-têtes coalescés/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 de l’en-tête est vide et que l’en-tête est trouvé, il est supprimé. Si elle n’est pas vide, la valeur d’en-tête est remplacée.

Valeur retournée

Retourne LA valeur TRUE si elle réussit ou FALSE dans le cas contraire. Pour obtenir des informations détaillées sur l’erreur, appelez GetLastError.

Remarques

HttpAddRequestHeaders ajoute des en-têtes de format libre supplémentaires au handle de requête HTTP et est destiné aux 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 httpAddRequestHeaders de base, l’application peut transmettre plusieurs en-têtes dans une seule mémoire tampon. Si l’application tente de supprimer ou de remplacer un en-tête, un seul en-tête peut être fourni dans lpszHeaders.

Note La fonction HttpAddRequestHeadersA représente les en-têtes sous forme de caractères ISO-8859-1 et non de caractères ANSI. La fonction HttpAddRequestHeadersW représente les en-têtes sous forme de 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 entre les caractères ANSI et les caractères 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.
Note 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).
 

Notes

L’en-tête wininet.h définit HttpAddRequestHeaders comme un 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.

Configuration requise

   
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête wininet.h
Bibliothèque Wininet.lib
DLL Wininet.dll

Voir aussi

HTTP Sessions

Fonctions WinINet