HttpOpenRequestW, fonction (wininet.h)
Crée un handle de requête HTTP.
Syntaxe
HINTERNET HttpOpenRequestW(
[in] HINTERNET hConnect,
[in] LPCWSTR lpszVerb,
[in] LPCWSTR lpszObjectName,
[in] LPCWSTR lpszVersion,
[in] LPCWSTR lpszReferrer,
[in] LPCWSTR *lplpszAcceptTypes,
[in] DWORD dwFlags,
[in] DWORD_PTR dwContext
);
Paramètres
[in] hConnect
Handle vers une session HTTP retournée par InternetConnect.
[in] lpszVerb
Pointeur vers une chaîne null-terminated qui contient le verbe HTTP à utiliser dans la requête. Si ce paramètre est NULL, la fonction utilise GET comme verbe HTTP.
[in] lpszObjectName
Pointeur vers une chaîne null-terminated 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 null-terminated 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 est 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 null-terminated qui spécifie l’URL du document à partir duquel l’URL de la requête (lpszObjectName) a été obtenue. Si ce paramètre est NULL, aucun référent n’est spécifié.
[in] lplpszAcceptTypes
Pointeur vers un tableau null-terminated de chaînes qui indique les types de supports 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 est null, aucun type n’est accepté par le client. Les serveurs interprètent généralement un manque de types d’acceptation pour indiquer que le client accepte uniquement les documents de type « text/* » (autrement dit, seuls les documents texte , aucune image 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’une ERROR_INTERNET_CONNECTION_RESET (la connexion avec le serveur a été réinitialisée) ou de ERROR_INTERNET_CANNOT_CONNECT (la tentative de connexion au serveur a échoué). |
|
Force un rechargement s’il n’y a pas eu d’heure d’expiration et qu’aucune heure LastModified n’a été retournée par le serveur lorsque vous déterminez s’il faut 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 une vérification simple par rapport aux certificats en comparant les noms d’hôte correspondants et les règles de caractères génériques simples. |
|
Désactive la vérification des certificats SSL/PCT pour des 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 des 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, le cas échéant, 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 cookie aux requêtes et n’ajoute pas automatiquement les cookies retournés à la base de données de cookies. |
|
Désactive la boîte de dialogue cookie. |
|
Force la requête à résoudre 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 : 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 significative 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 de retour
Retourne un handle de requête HTTP en cas de réussite, ou null sinon. Pour récupérer des informations d’erreur étendues, appelez GetLastError.
Remarques
La fonction HttpOpenRequest crée un handle de requête HTTP et stocke les paramètres spécifiés dans ce handle. Un handle de requête HTTP contient une requête à 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é par internet Options définies dans Internet Explorer pour le système. La valeur EnableHttp1_1 est définie par défaut sur 1. La fonction HttpOpenRequest met à niveau toute version HTTP inférieure à 1.1 vers HTTP version 1.1 si EnableHttp1_1 a la valeur 1.
Une fois l’application appelante terminée à l’aide du handle HINTERNET
Remarque Lorsqu’une requête est envoyée en mode asynchrone (le paramètre dwFlags de 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 requête ne sera pas appelée, toutefois, 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.
Note
L’en-tête wininet.h définit HttpOpenRequest 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 |