Fonction InternetOpenUrlA (wininet.h)
Ouvre une ressource spécifiée par une URL FTP ou HTTP complète.
Syntaxe
HINTERNET InternetOpenUrlA(
[in] HINTERNET hInternet,
[in] LPCSTR lpszUrl,
[in] LPCSTR lpszHeaders,
[in] DWORD dwHeadersLength,
[in] DWORD dwFlags,
[in] DWORD_PTR dwContext
);
Paramètres
[in] hInternet
Handle de la session Internet active. Le handle doit avoir été retourné par un appel précédent à InternetOpen.
[in] lpszUrl
Pointeur vers une variable de chaîne terminée par null qui spécifie l’URL à commencer par la lecture. Seules les URL commençant par ftp :, http :, ou https : sont prises en charge.
[in] lpszHeaders
Pointeur vers une chaîne terminée par null qui spécifie les en-têtes à envoyer au serveur HTTP. Pour plus d’informations, consultez la description du paramètre lpszHeaders dans la fonction HttpSendRequest .
[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, lpszHeaders est supposé être terminé à zéro (ASCIIZ) et la longueur est calculée.
[in] dwFlags
Ce paramètre peut prendre les valeurs suivantes.
Valeur | Signification |
---|---|
|
Tente d’utiliser un objet InternetConnect existant s’il en existe un avec les mêmes attributs requis pour effectuer la demande. Cela est utile uniquement pour les opérations FTP, car FTP est le seul protocole qui effectue généralement plusieurs opérations au cours de la même session. L’API WinINet met en cache un handle de connexion unique pour chaque handle HINTERNET généré par InternetOpen. InternetOpenUrl utilise cet indicateur pour les connexions HTTP et FTP. |
|
Force un rechargement s’il n’y a pas d’heure d’expiration et qu’aucune heure LastModified n’a été retournée par le serveur pour déterminer 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 indiqué dans la demande. Les fonctions WinINet utilisent une case activée simple par rapport aux certificats en comparant les noms d’hôtes et les règles de caractères 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é, WinINet autorise 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é, WinINet autorise 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), 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 demandes et n’ajoute pas automatiquement les cookies retournés à la base de données de cookies. |
|
Désactive la boîte de dialogue cookie. |
|
Utilise la sémantique FTP passive. InternetOpenUrl utilise cet indicateur pour les fichiers et répertoires FTP. |
|
Force la requête à être résolue par le serveur d’origine, même si une copie mise en cache existe sur le proxy. |
|
Retourne les données sous forme de structure WIN32_FIND_DATA lors de la récupération des informations de répertoire FTP. Si cet indicateur n’est pas spécifié ou si l’appel a été effectué via un proxy CERN, InternetOpenUrl renvoie la version HTML du répertoire.
Windows XP et Windows Server 2003 R2 et versions antérieures : Retourne également des données en tant que structure de GOPHER_FIND_DATA lors de la récupération des informations de répertoire Gopher. |
|
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 le dernier téléchargement. 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 de transaction sécurisée. Cela se traduit par l’utilisation du protocole SSL/Private Communications Technology (SSL/PCT) et n’est significatif que dans les requêtes HTTP. |
[in] dwContext
Pointeur vers une variable qui spécifie la valeur définie par l’application qui est passée, avec le handle retourné, à toutes les fonctions de rappel.
Valeur retournée
Retourne un handle valide à l’URL si la connexion est établie avec succès, ou NULL si la connexion échoue. Pour récupérer un message d’erreur spécifique, appelez GetLastError. Pour déterminer la raison pour laquelle l’accès au service a été refusé, appelez InternetGetLastResponseInfo.
Remarques
Appelez d’abord InternetCanonicalizeUrl si l’URL utilisée contient une URL relative et une URL de base séparées par des espaces vides.
Il s’agit d’une fonction générale qu’une application peut utiliser pour récupérer des données sur l’un des protocoles pris en charge par WinINet. Cette fonction est particulièrement utile lorsque l’application n’a pas besoin d’accéder aux détails d’un protocole, mais nécessite uniquement les données correspondant à une URL. La fonction InternetOpenUrl analyse la chaîne d’URL, établit une connexion au serveur et se prépare à télécharger les données identifiées par l’URL. L’application peut ensuite utiliser InternetReadFile (pour les fichiers) ou InternetFindNextFile (pour les répertoires) pour récupérer les données d’URL. Il n’est pas nécessaire d’appeler InternetConnect avant InternetOpenUrl.
Windows XP et Windows Server 2003 R2 et versions antérieures : InternetOpenUrl désactive Gopher sur les ports inférieurs à 1024, à l’exception du port 70 (port Gopher standard) et du port 105 généralement utilisé pour les recherches de noms de l’organisation des services centraux (CSO).
Une fois que l’application appelante a terminé d’utiliser le handle HINTERNET retourné par InternetOpenUrl, elle doit être fermée à l’aide de la fonction InternetCloseHandle .
Note Lorsque vous travaillez en mode asynchrone (le paramètre dwFlags dwOpen 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 session 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 InternetOpenUrl 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. 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 |