Partager via


InternetOpenA, fonction (wininet.h)

Initialise l’utilisation d’une application des fonctions WinINet.

Syntaxe

HINTERNET InternetOpenA(
  [in] LPCSTR lpszAgent,
  [in] DWORD  dwAccessType,
  [in] LPCSTR lpszProxy,
  [in] LPCSTR lpszProxyBypass,
  [in] DWORD  dwFlags
);

Paramètres

[in] lpszAgent

Pointeur vers une chaînenull-terminated qui spécifie le nom de l’application ou de l’entité appelant les fonctions WinINet. Ce nom est utilisé comme agent utilisateur dans le protocole HTTP.

[in] dwAccessType

Type d’accès requis. Ce paramètre peut être l’une des valeurs suivantes.

Valeur Signification
INTERNET_OPEN_TYPE_DIRECT
Résout tous les noms d’hôtes localement.
INTERNET_OPEN_TYPE_PRECONFIG
Récupère le proxy ou la configuration directe à partir du Registre.
INTERNET_OPEN_TYPE_PRECONFIG_WITH_NO_AUTOPROXY
Récupère le proxy ou la configuration directe à partir du Registre et empêche l’utilisation d’un fichier d’installation Microsoft JScript ou Internet (INS) de démarrage.
INTERNET_OPEN_TYPE_PROXY
Transmet les demandes au proxy, sauf si une liste de contournement de proxy est fournie et que le nom à résoudre contourne le proxy. Dans ce cas, la fonction utilise INTERNET_OPEN_TYPE_DIRECT.

[in] lpszProxy

Pointeur vers une chaînenull -terminated qui spécifie le nom du ou des serveurs proxy à utiliser lorsque l’accès proxy est spécifié en définissant dwAccessType sur INTERNET_OPEN_TYPE_PROXY. N’utilisez pas de chaîne vide, car InternetOpen l’utilisera comme nom de proxy. Les fonctions WinINet reconnaissent uniquement les proxys de type CERN (HTTP uniquement) et la passerelle FTP TIS (FTP uniquement). Si Microsoft Internet Explorer est installé, ces fonctions prennent également en charge les proxys SOCKS. Les requêtes FTP peuvent être effectuées via un proxy de type CERN en les remplaçant par une requête HTTP ou en utilisant InternetOpenUrl. Si dwAccessType n’est pas défini sur INTERNET_OPEN_TYPE_PROXY, ce paramètre est ignoré et doit être NULL. Pour plus d’informations sur la liste des serveurs proxy, consultez la section Liste des serveurs proxy de Activation des fonctionnalités Internet.

[in] lpszProxyBypass

Pointeur vers une chaînenull-terminated qui spécifie une liste facultative de noms d’hôtes ou d’adresses IP, ou les deux, qui ne doivent pas être routées via le proxy lorsque dwAccessType est définie sur INTERNET_OPEN_TYPE_PROXY. La liste peut contenir des caractères génériques. N’utilisez pas de chaîne vide, car InternetOpen l’utilisera comme liste de contournement du proxy. Si ce paramètre spécifie la macro «<>locale », la fonction contourne le proxy pour tout nom d’hôte qui ne contient pas de point.

Par défaut, WinINet contourne le proxy pour les requêtes qui utilisent les noms d’hôte « localhost », « bouclage », « 127.0.0.1 » ou « [ ::1] ». Ce comportement existe, car un serveur proxy distant ne résout généralement pas correctement ces adresses.Internet Explorer 9 : Vous pouvez supprimer l’ordinateur local de la liste de contournement du proxy à l’aide de la macro «<-loopback>».

Si dwAccessType n’est pas défini sur INTERNET_OPEN_TYPE_PROXY, ce paramètre est ignoré et doit être NULL.

[in] dwFlags

Options. Ce paramètre peut être une combinaison des valeurs suivantes.

Valeur Signification
INTERNET_FLAG_ASYNC
Effectue uniquement des requêtes asynchrones sur les handles décroissants du handle retourné par cette fonction.
INTERNET_FLAG_FROM_CACHE
Ne fait pas de requêtes réseau. Toutes les entités sont retournées à partir du cache. Si l’élément demandé n’est pas dans le cache, une erreur appropriée, telle que ERROR_FILE_NOT_FOUND, est retournée.
INTERNET_FLAG_OFFLINE
Identique à INTERNET_FLAG_FROM_CACHE. Ne fait pas de requêtes réseau. Toutes les entités sont retournées à partir du cache. Si l’élément demandé n’est pas dans le cache, une erreur appropriée, telle que ERROR_FILE_NOT_FOUND, est retournée.

Valeur de retour

Retourne un handle valide que l’application passe aux fonctions WinINet suivantes. Si InternetOpen échoue, elle retourne NULL. Pour récupérer un message d’erreur spécifique, appelez GetLastError.

Remarques

InternetOpen est la première fonction WinINet appelée par une application. Il indique à la DLL Internet d’initialiser des structures de données internes et de préparer les appels futurs de l’application. Une fois l’application terminée à l’aide des fonctions Internet, elle doit appeler InternetCloseHandle pour libérer le handle et toutes les ressources associées.

L’application peut effectuer n’importe quel nombre d’appels à InternetOpen, bien qu’un seul appel soit normalement suffisant. L’application peut avoir besoin de définir des comportements distincts pour chaque instance InternetOpen, comme des serveurs proxy différents configurés pour chacun d’eux.

Une fois l’application appelante terminée à l’aide du handle HINTERNET retourné par InternetOpen, il doit être fermé à l’aide de la fonction InternetCloseHandle.

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

activation des fonctionnalités Internet

fonctions WinINet