Fonction HttpSendRequestA (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 terminée par null qui contient les en-têtes supplémentaires à ajouter à la demande. 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, en TCHAR. Si ce paramètre a la valeur -1L et que lpszHeaders n’a pas la valeur NULL, la fonction suppose que lpszHeaders est terminé à zéro (ASCIIZ) et que la longueur est calculée. Pour plus d’informations, consultez Remarques.
[in] lpOptional
Pointeur vers une mémoire tampon contenant 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’y a pas de données facultatives à envoyer.
[in] dwOptionalLength
Taille des données facultatives, en octets. Ce paramètre peut être égal à zéro s’il n’y a pas de données facultatives à envoyer.
Valeur retournée
Retourne TRUE en cas de réussite, ou FALSE dans le cas contraire. Pour obtenir des informations détaillées sur l’erreur, 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 les 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 demande envoyée, le code status et les en-têtes de réponse du serveur HTTP sont lus. Ces en-têtes sont conservé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 à HttpSendRequest, mais l’application doit lire toutes les données retournées par 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 a la valeur -1L et lpszHeaders n’a pas la valeur NULL, les événements suivants se produisent : si HttpSendRequestA est appelé, la fonction suppose que lpszHeaders est terminé sans fin (ASCIIZ) et que la longueur est calculée. Si HttpSendRequestW est appelé, la fonction échoue avec ERROR_INVALID_PARAMETER.
Notes
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. La combinaison 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
Condition requise | Valeur |
---|---|
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 |