Partager via


InternetOpenUrlA, fonction (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 null-terminated string qui spécifie l’URL à lire. Seules les URL commençant par ftp :, http :, ou https : sont prises en charge.

[in] lpszHeaders

Pointeur vers une chaîne-terminated 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, dans TCHARs. Si ce paramètre est -1L et lpszHeaders n’est pas NULL, lpszHeaders est supposé être terminé par zéro (ASCIIZ) et la longueur est calculée.

[in] dwFlags

Ce paramètre peut être l’une des valeurs suivantes.

Valeur Signification
INTERNET_FLAG_EXISTING_CONNECT
Tente d’utiliser un objet InternetConnect existant s’il existe avec les mêmes attributs requis pour effectuer la requête. Cela est utile uniquement avec les opérations FTP, car FTP est le seul protocole qui effectue généralement plusieurs opérations pendant 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.
INTERNET_FLAG_HYPERLINK
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.
INTERNET_FLAG_IGNORE_CERT_CN_INVALID
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.
INTERNET_FLAG_IGNORE_CERT_DATE_INVALID
Désactive la vérification des certificats SSL/PCT pour des dates de validité appropriées.
INTERNET_FLAG_IGNORE_REDIRECT_TO_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 HTTPS vers des URL HTTP.
INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTPS
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.
INTERNET_FLAG_KEEP_CONNECTION
Utilise la sémantique keep-alive, le cas échéant, pour la connexion. Cet indicateur est requis pour Microsoft Network (MSN), NTLM et d’autres types d’authentification.
INTERNET_FLAG_NEED_FILE
Provoque la création d’un fichier temporaire si le fichier ne peut pas être mis en cache.
INTERNET_FLAG_NO_AUTH
Ne tente pas l’authentification automatiquement.
INTERNET_FLAG_NO_AUTO_REDIRECT
Ne gère pas automatiquement la redirection dans HttpSendRequest.
INTERNET_FLAG_NO_CACHE_WRITE
N’ajoute pas l’entité retournée au cache.
INTERNET_FLAG_NO_COOKIES
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.
INTERNET_FLAG_NO_UI
Désactive la boîte de dialogue cookie.
INTERNET_FLAG_PASSIVE
Utilise la sémantique FTP passive. InternetOpenUrl utilise cet indicateur pour les fichiers et répertoires FTP.
INTERNET_FLAG_PRAGMA_NOCACHE
Force la requête à résoudre par le serveur d’origine, même si une copie mise en cache existe sur le proxy.
INTERNET_FLAG_RAW_DATA
Retourne les données sous la forme d’une 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 retourne la version HTML du répertoire.

Windows XP et Windows Server 2003 R2 et versions antérieures : retourne également des données sous forme de structure GOPHER_FIND_DATA lors de la récupération des informations de répertoire Gopher.

INTERNET_FLAG_RELOAD
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.
INTERNET_FLAG_RESYNCHRONIZE
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.

INTERNET_FLAG_SECURE
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 spécifie la valeur définie par l’application qui est passée, ainsi que le handle retourné, à toutes les fonctions de rappel.

Valeur de retour

Retourne un handle valide à l’URL si la connexion est établie avec succès, ou NULL en cas d’échec de la connexion. Pour récupérer un message d’erreur spécifique, appelez GetLastError. Pour déterminer pourquoi l’accès au service a été refusé, appelez InternetGetLastResponseInfo.

Remarques

Appelez InternetCanonicalizeUrl tout d’abord si l’URL utilisée contient une URL relative et une URL de base séparée 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 prépare le téléchargement des 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 l’application appelante terminée à l’aide du handle HINTERNET retourné par InternetOpenUrl, il doit être fermé à l’aide de la fonction InternetCloseHandle.

Remarque Lorsque vous travaillez en mode asynchrone (le paramètre dwFlags de InternetOpen spécifie INTERNET_FLAG_ASYNC), et le paramètre dwContext est égal à zéro (INTERNET_NO_CALLBACK), la fonction de rappel définie avec InternetSetStatusCallback sur le handle de session ne sera pas appelée, mais l’appel sera 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.

Remarque WinINet ne prend pas en charge les implémentations de serveur. En outre, il ne doit pas être utilisé à partir d’un service. Pour les implémentations de serveur ou les services, utilisez Microsoft Windows HTTP Services (WinHTTP).
 

Note

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. 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

Voir aussi

gestion des localisateurs de ressources uniformes

fonctions WinINet