HttpSendRequestA, fonction (wininet.h)
Envoie la requête spécifiée au serveur HTTP, ce qui permet aux appelants d’envoyer des données supplémentaires au-delà de ce qui est normalement passé à HttpSendRequestEx.
Syntaxe
BOOL HttpSendRequestA(
[in] HINTERNET hRequest,
[in] LPCSTR lpszHeaders,
[in] DWORD dwHeadersLength,
[in] LPVOID lpOptional,
[in] DWORD dwOptionalLength
);
Paramètres
[in] hRequest
Handle retourné par un appel à la fonction HttpOpenRequest.
[in] lpszHeaders
Pointeur vers une chaîne null-terminated qui contient les en-têtes supplémentaires à ajouter à la requête. Ce paramètre peut être NULL s’il n’y a pas d’en-têtes supplémentaires à ajouter.
[in] dwHeadersLength
Taille des en-têtes supplémentaires, dans TCHARs. Si ce paramètre est -1L et lpszHeaders n’est pas NULL, la fonction part du principe que lpszHeaders est terminée par zéro (ASCIIZ) et que la longueur est calculée. Pour plus d’informations, consultez les remarques.
[in] lpOptional
Pointeur vers une mémoire tampon contenant toutes les données facultatives à envoyer immédiatement après les en-têtes de requête. Ce paramètre est généralement utilisé pour les opérations POST et PUT. Les données facultatives peuvent être la ressource ou les informations publiées sur le serveur. Ce paramètre peut être NULL s’il n’existe aucune donnée facultative à envoyer.
[in] dwOptionalLength
Taille des données facultatives, en octets. Ce paramètre peut être égal à zéro s’il n’existe aucune donnée facultative à envoyer.
Valeur de retour
Retourne TRUE en cas de réussite ou FALSE sinon. Pour obtenir des informations d’erreur étendues, appelez GetLastError.
Remarques
HttpSendRequest envoie la requête spécifiée au serveur HTTP et permet au client de spécifier des en-têtes supplémentaires à envoyer avec la requête.
La fonction permet également au client de spécifier des données facultatives à envoyer au serveur HTTP immédiatement après les en-têtes de requête. Cette fonctionnalité est généralement utilisée pour les opérations d’écriture telles que PUT et POST.
Une fois la requête envoyée, le code d’état et les en-têtes de réponse du serveur HTTP sont lus. Ces en-têtes sont gérés en interne et sont disponibles pour les applications clientes via la fonction HttpQueryInfo.
Une application peut utiliser le même handle de requête HTTP dans plusieurs appels pour httpSendRequest, mais l’application doit lire toutes les données retournées à partir de l’appel précédent avant d’appeler à nouveau la fonction.
En mode hors connexion, HttpSendRequest retourne ERROR_FILE_NOT_FOUND si la ressource est introuvable dans le cache Internet.
Il existe deux versions de httpSendRequest:httpSendRequestA (utilisé avec les builds ANSI) et HttpSendRequestW (utilisé avec les builds Unicode). Si dwHeadersLength est -1L et que lpszHeaders n’est pas NULL, ce qui suit se produit : Si HttpSendRequestA est appelé, la fonction part du principe que lpszHeaders est terminée par zéro (ASCIIZ) et que la longueur est calculée. Si httpSendRequestW est appelée, la fonction échoue avec ERROR_INVALID_PARAMETER.
Note
L’en-tête wininet.h définit HttpSendRequest en tant qu’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 |