InternetConnectA, fonction (wininet.h)
Ouvre une session FTP (File Transfer Protocol) ou HTTP pour un site donné.
Syntaxe
HINTERNET InternetConnectA(
[in] HINTERNET hInternet,
[in] LPCSTR lpszServerName,
[in] INTERNET_PORT nServerPort,
[in] LPCSTR lpszUserName,
[in] LPCSTR lpszPassword,
[in] DWORD dwService,
[in] DWORD dwFlags,
[in] DWORD_PTR dwContext
);
Paramètres
[in] hInternet
Handle retourné par un appel précédent à InternetOpen.
[in] lpszServerName
Pointeur vers une chaîne terminée par null qui spécifie le nom d’hôte d’un serveur Internet. La chaîne peut également contenir le numéro d’adresse IP du site, au format ASCII pointillé-décimal (par exemple, 11.0.1.45).
[in] nServerPort
Port TCP/IP (Transmission Control Protocol/Internet Protocol) sur le serveur. Ces indicateurs définissent uniquement le port utilisé. Le service est défini par la valeur de dwService. Ce paramètre peut prendre les valeurs suivantes.
Valeur | Signification |
---|---|
|
Utilise le port par défaut pour les serveurs FTP (port 21). |
|
Utilise le port par défaut pour les serveurs Gopher (port 70). Note Windows XP et Windows Server 2003 R2 et versions antérieures uniquement.
|
|
Utilise le port par défaut pour les serveurs HTTP (port 80). |
|
Utilise le port par défaut pour les serveurs HTTPS (Secure Hypertext Transfer Protocol) (port 443). |
|
Utilise le port par défaut pour les serveurs de pare-feu SOCKS (port 1080). |
|
Utilise le port par défaut pour le service spécifié par dwService. |
[in] lpszUserName
Pointeur vers une chaîne terminée par null qui spécifie le nom de l’utilisateur à ouvrir une session. Si ce paramètre a la valeur NULL, la fonction utilise une valeur par défaut appropriée. Pour le protocole FTP, la valeur par défaut est « anonymous ».
[in] lpszPassword
Pointeur vers une chaîne terminée par un caractère Null qui contient le mot de passe à utiliser pour ouvrir une session. Si lpszPassword et lpszUsername ont la valeur NULL, la fonction utilise le mot de passe « anonyme » par défaut. Dans le cas de FTP, le mot de passe par défaut est le nom de l’e-mail de l’utilisateur. Si lpszPassword a la valeur NULL, mais que lpszUsername n’est pas NULL, la fonction utilise un mot de passe vide.
[in] dwService
Type de service auquel accéder. Ce paramètre peut prendre les valeurs suivantes.
Valeur | Signification |
---|---|
|
Service FTP. |
|
Service Gopher. Note Windows XP et Windows Server 2003 R2 et versions antérieures uniquement.
|
|
Service HTTP. |
[in] dwFlags
Options spécifiques au service utilisé. Si
dwService est INTERNET_SERVICE_FTP, INTERNET_FLAG_PASSIVE amène l’application à utiliser la sémantique FTP passive.
[in] dwContext
Pointeur vers une variable qui contient une valeur définie par l’application utilisée pour identifier le contexte d’application pour le handle retourné dans les rappels.
Valeur retournée
Retourne un handle valide à la session si la connexion réussit, ou NULL dans le cas contraire. Pour récupérer des informations d’erreur étendues, appelez GetLastError. Une application peut également utiliser InternetGetLastResponseInfo pour déterminer pourquoi l’accès au service a été refusé.
Remarques
Le tableau suivant décrit le comportement des quatre paramètres possibles de lpszUsername et lpszPassword.
lpszUsername | lpszPassword | Nom d’utilisateur envoyé au serveur FTP | Mot de passe envoyé au serveur FTP |
---|---|---|---|
NULL | NULL | « anonyme » | Nom de l’e-mail de l’utilisateur |
Chaîne non NULL | NULL | lpszUsername | "" |
NULL | Chaîne non NULL | ERROR | ERROR |
Chaîne non NULL | Chaîne non NULL | lpszUsername | lpszPassword |
Pour les sites FTP, InternetConnect établit en fait une connexion avec le serveur ; pour d’autres, la connexion réelle n’est pas établie tant que l’application n’a pas demandé une transaction spécifique.
Pour une efficacité maximale, les applications utilisant les protocoles HTTP doivent essayer de réduire les appels à InternetConnect et d’éviter d’appeler cette fonction pour chaque transaction demandée par l’utilisateur. Une façon d’y parvenir consiste à conserver un petit cache de handles retournés à partir d’InternetConnect ; lorsque l’utilisateur effectue une demande auprès d’un serveur précédemment consulté, ce handle de session est toujours disponible.
Une fois que l’application appelante a terminé d’utiliser le handle HINTERNET retourné par InternetConnect, elle doit être fermée à l’aide de la fonction InternetCloseHandle .
Note Quand une requête est envoyée 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 connexion n’est pas appelée, mais l’appel est toujours effectué en mode asynchrone.
Vous trouverez des exemples d’utilisation d’InternetConnect dans les rubriques suivantes.
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 InternetConnect en tant qu’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 |