Share via


Fonction InternetOpenA (wininet.h)

Initialise l’utilisation des fonctions WinINet par une application.

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îne terminée par null 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 prendre les valeurs suivantes.

Valeur Signification
INTERNET_OPEN_TYPE_DIRECT
Résout tous les noms d’hôte 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 Microsoft JScript ou Internet Setup (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îne terminée par null qui spécifie le nom du ou des serveurs proxy à utiliser lorsque l’accès au proxy est spécifié en définissant dwAccessTypesur 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 à l’aide d’InternetOpenUrl. Si dwAccessType n’est pas défini sur INTERNET_OPEN_TYPE_PROXY, ce paramètre est ignoré et doit avoir la valeur NULL. Pour plus d’informations sur la liste des serveurs proxy, consultez la section Liste des serveurs proxy dans Activation des fonctionnalités Internet.

[in] lpszProxyBypass

Pointeur vers une chaîne terminée par null 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éfini 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 «< local> », 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 «< -bouclage> ».

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

[in] dwFlags

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

Valeur Signification
INTERNET_FLAG_ASYNC
Effectue uniquement les requêtes asynchrones sur les handles descendant du handle retourné par cette fonction.
INTERNET_FLAG_FROM_CACHE
N’effectue pas de demandes 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. N’effectue pas de demandes 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 retournée

Retourne un handle valide que l’application transmet aux fonctions WinINet suivantes. En cas d’échec d’InternetOpen , 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 les structures de données internes et de préparer les appels futurs à partir de l’application. Lorsque l’application a terminé d’utiliser les 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, par exemple des serveurs proxy différents configurés pour chacun d’eux.

Une fois que l’application appelante a terminé d’utiliser le handle HINTERNET retourné par InternetOpen, elle doit être fermée à 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.

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

Notes

L’en-tête wininet.h définit InternetOpen 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. 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

Voir aussi

Activation des fonctionnalités Internet

Fonctions WinINet