HttpOpenRequestA, fonction (wininet.h)
Crée un handle de requête HTTP.
Syntaxe
HINTERNET HttpOpenRequestA(
[in] HINTERNET hConnect,
[in] LPCSTR lpszVerb,
[in] LPCSTR lpszObjectName,
[in] LPCSTR lpszVersion,
[in] LPCSTR lpszReferrer,
[in] LPCSTR *lplpszAcceptTypes,
[in] DWORD dwFlags,
[in] DWORD_PTR dwContext
);
Paramètres
[in] hConnect
Handle à une session HTTP retournée par InternetConnect.
[in] lpszVerb
Pointeur vers une chaîne terminée par null qui contient le verbe HTTP à utiliser dans la requête. Si ce paramètre a la valeur NULL, la fonction utilise GET comme verbe HTTP.
[in] lpszObjectName
Pointeur vers une chaîne terminée par null qui contient le nom de l’objet cible du verbe HTTP spécifié. Il s’agit généralement d’un nom de fichier, d’un module exécutable ou d’un spécificateur de recherche.
[in] lpszVersion
Pointeur vers une chaîne terminée par null qui contient la version HTTP à utiliser dans la requête. Les paramètres dans Internet Explorer remplacent la valeur spécifiée dans ce paramètre.
Si ce paramètre a la valeur NULL, la fonction utilise une version HTTP de 1.1 ou 1.0, en fonction de la valeur des paramètres internet Explorer.
Valeur | Signification |
---|---|
|
HTTP version 1.0 |
|
HTTP version 1.1 |
[in] lpszReferrer
Pointeur vers une chaîne terminée par null qui spécifie l’URL du document à partir duquel l’URL de la requête (lpszObjectName) a été obtenue. Si ce paramètre a la valeur NULL, aucun référent n’est spécifié.
[in] lplpszAcceptTypes
Pointeur vers un tableau de chaînes avec fin null qui indique les types de médias acceptés par le client. Voici un exemple.
PCTSTR rgpszAcceptTypes[] = {_T("text/*"), NULL};
L’échec de l’arrêt correct du tableau avec un pointeur NULL entraîne un blocage.
Si ce paramètre a la valeur NULL, aucun type n’est accepté par le client. Les serveurs interprètent généralement l’absence de types d’acceptation pour indiquer que le client accepte uniquement les documents de type « text/* » (c’est-à-dire, uniquement les documents texte, pas d’images ou d’autres fichiers binaires).
[in] dwFlags
Options Internet. Ce paramètre peut être l’une des valeurs suivantes.
Valeur | Signification |
---|---|
|
Retourne la ressource à partir du cache si la demande réseau de la ressource échoue en raison d’un ERROR_INTERNET_CONNECTION_RESET (la connexion avec le serveur a été réinitialisée) ou d’ERROR_INTERNET_CANNOT_CONNECT (échec de la tentative de connexion au serveur). |
|
Force un rechargement s’il n’y a pas d’heure d’expiration et aucune heure LastModified renvoyée par le serveur lors de la détermination de la possibilité de recharger l’élément à partir du réseau. |
|
Désactive la vérification des certificats SSL/PCT retournés par le serveur par rapport au nom d’hôte donné dans la demande. Les fonctions WinINet utilisent un case activée simple par rapport aux certificats en comparant les noms d’hôtes et les règles génériques simples. |
|
Désactive la vérification des certificats SSL/PCT pour les dates de validité appropriées. |
|
Désactive la détection de ce type spécial de redirection. Lorsque cet indicateur est utilisé, les fonctions WinINet autorisent en toute transparence les redirections de HTTPS vers les URL HTTP. |
|
Désactive la détection de ce type spécial de redirection. Lorsque cet indicateur est utilisé, les fonctions WinINet autorisent en toute transparence les redirections de HTTP vers les URL HTTPS. |
|
Utilise la sémantique keep-alive, si disponible, pour la connexion. Cet indicateur est requis pour Microsoft Network (MSN), NT LAN Manager (NTLM) et d’autres types d’authentification. |
|
Provoque la création d’un fichier temporaire si le fichier ne peut pas être mis en cache. |
|
Ne tente pas l’authentification automatiquement. |
|
Ne gère pas automatiquement la redirection dans HttpSendRequest. |
|
N’ajoute pas l’entité retournée au cache. |
|
N’ajoute pas automatiquement d’en-têtes de cookies aux demandes et n’ajoute pas automatiquement les cookies retournés à la base de données des cookies. |
|
Désactive la boîte de dialogue cookie. |
|
Force la requête à être résolue par le serveur d’origine, même si une copie mise en cache existe sur le proxy. |
|
Force le téléchargement du fichier, de l’objet ou de la liste de répertoires demandés à partir du serveur d’origine, et non à partir du cache. |
|
Recharge les ressources HTTP si la ressource a été modifiée depuis la dernière fois qu’elle a été téléchargée. Toutes les ressources FTP sont rechargées.
Windows XP et Windows Server 2003 R2 et versions antérieures : Les ressources Gopher sont également rechargées. |
|
Utilise la sémantique des transactions sécurisées. Cela se traduit par l’utilisation de secure Sockets Layer/Private Communications Technology (SSL/PCT) et n’est significatif que dans les requêtes HTTP. |
[in] dwContext
Pointeur vers une variable qui contient la valeur définie par l’application qui associe cette opération à toutes les données d’application.
Valeur retournée
Retourne un handle de requête HTTP en cas de réussite, ou NULL dans le cas contraire. Pour récupérer des informations d’erreur étendues, appelez GetLastError.
Remarques
La fonction HttpOpenRequest crée un nouveau handle de requête HTTP et stocke les paramètres spécifiés dans ce handle. Un handle de requête HTTP contient une demande à envoyer à un serveur HTTP et contient tous les en-têtes RFC822/MIME/HTTP à envoyer dans le cadre de la requête.
Si un verbe autre que « GET » ou « POST » est spécifié, HttpOpenRequest définit automatiquement INTERNET_FLAG_NO_CACHE_WRITE et INTERNET_FLAG_RELOAD pour la requête.
Avec Microsoft Internet Explorer 5 et versions ultérieures, si lpszVerb a la valeur « HEAD », l’en-tête Content-Length est ignoré sur les réponses des serveurs HTTP/1.1.
Sur Windows 7, Windows Server 2008 R2 et versions ultérieures, le paramètre lpszVersion est remplacé par les paramètres internet Explorer. Le EnableHttp1_1 est une valeur de Registre sous HKLM\Software\Microsoft\InternetExplorer\AdvacnedOptions\HTTP\GENABLE contrôlée par les options Internet définies dans Internet Explorer pour le système. La valeur EnableHttp1_1 par défaut est 1. La fonction HttpOpenRequest met à niveau toute version HTTP inférieure à 1.1 vers HTTP version 1.1 si EnableHttp1_1 est défini sur 1.
Une fois que l’application appelante a terminé d’utiliser le handle HINTERNET retourné par HttpOpenRequest, elle doit être fermée à l’aide de la fonction InternetCloseHandle .
Note Lorsqu’une requête est envoyée en mode asynchrone (le paramètre dwFlags dwFlags d’InternetOpen spécifie INTERNET_FLAG_ASYNC) et que le paramètre dwContext est égal à zéro (INTERNET_NO_CALLBACK), la fonction de rappel définie avec InternetSetStatusCallback sur le handle de demande n’est pas appelée, mais l’appel est toujours effectué en mode asynchrone.
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.
Notes
L’en-tête wininet.h définit HttpOpenRequest 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 |