Share via


La classe CInternetSession

Crée et initialise une ou plusieurs sessions Internet simultanées et, si nécessaire, décrit votre connexion à un serveur proxy.

Syntaxe

class CInternetSession : public CObject

Membres

Constructeurs publics

Nom Description
CInternetSession::CInternetSession Construit un objet CInternetSession.

Méthodes publiques

Nom Description
CInternetSession::Close Ferme la connexion Internet lorsque la session Internet est terminée.
CInternetSession::EnableStatusCallback Établit une routine de rappel d’état.
CInternetSession::GetContext Ferme la connexion Internet lorsque la session Internet est terminée.
CInternetSession::GetCookie Retourne des cookies pour l’URL spécifiée et toutes ses URL parentes.
CInternetSession::GetCookieLength Récupère la variable spécifiant la longueur du cookie stocké dans la mémoire tampon.
CInternetSession::GetFtpConnection Ouvre une session FTP avec un serveur. Journaux sur l’utilisateur.
CInternetSession::GetGopherConnection Ouvre un serveur Gopher pour une application qui tente d’ouvrir une connexion.
CInternetSession::GetHttpConnection Ouvre un serveur HTTP pour une application qui tente d’ouvrir une connexion.
CInternetSession::OnStatusCallback Met à jour l’état d’une opération lorsque le rappel d’état est activé.
CInternetSession::OpenURL Analyse et ouvre une URL.
CInternetSession::SetCookie Définit un cookie pour l’URL spécifiée.
CInternetSession::SetOption Définit les options de la session Internet.

Opérateurs publics

Nom Description
CInternetSession::operator HINTERNET Descripteur de la session Internet active.

Notes

Si votre connexion Internet doit être maintenue pendant la durée d’une application, vous pouvez créer un membre CInternetSession de la classe CWinApp.

Une fois que vous avez établi une session Internet, vous pouvez appeler OpenURL. CInternetSession analyse ensuite l’URL pour vous en appelant la fonction globale AfxParseURL. Quel que soit son type de protocole, CInternetSession interprète l’URL et la gère pour vous. La classe peut gérer les demandes de fichiers locaux identifiés avec la ressource d’URL « file:// ». OpenURL retourne un pointeur vers un objet CStdioFile si le nom que vous transmettez est un fichier local.

Si vous ouvrez une URL sur un serveur Internet en utilisant OpenURL, vous pouvez lire des informations à partir du site. Si vous souhaitez effectuer des actions spécifiques au service (par exemple, HTTP, FTP ou gopher) sur les fichiers situés sur un serveur, vous devez établir la connexion appropriée avec ce serveur. Pour directement ouvrir un type particulier de connexion à un service particulier, utilisez l’une des fonctions membres suivantes :

SetOption vous permet de définir les options de requête de votre session, telles que les valeurs de délai d’attente, le nombre de nouvelles tentatives, etc.

Les fonctions SetCookie, GetCookie et GetCookieLength membres de la classe CInternetSession fournissent les moyens de gérer une base de données de cookies Win32 grâce à laquelle les serveurs et les scripts conservent des informations d’état sur la station de travail cliente.

Pour plus d’informations sur les tâches de programmation Internet de base, consultez l’article Premières étapes Internet : WinInet. Pour obtenir des informations générales sur l’utilisation des classes WinInet MFC, consultez l’article Programmation Internet avec WinInet.

Remarque

CInternetSession lève une exception AfxThrowNotSupportedException pour les types de service non pris en charge. Seuls les types de service suivants sont actuellement pris en charge : FTP, HTTP, gopher et fichier.

Hiérarchie d'héritage

CObject
CInternetSession

Spécifications

En-têteafxinet.h :

CInternetSession::CInternetSession

Cette fonction membre est appelée lorsqu’un objet CInternetSession est créé.

CInternetSession(
    LPCTSTR pstrAgent = NULL,
    DWORD_PTR dwContext = 1,
    DWORD dwAccessType = PRE_CONFIG_INTERNET_ACCESS,
    LPCTSTR pstrProxyName = NULL,
    LPCTSTR pstrProxyBypass = NULL,
    DWORD dwFlags = 0);

Paramètres

pstrAgent
Pointeur vers une chaîne qui identifie le nom de l’application ou de l’entité appelant les fonctions Internet (par exemple, « Navigateur Internet Microsoft »). Si pstrAgent est défini sur NULL (valeur par défaut), l’infrastructure appelle la fonction globale AfxGetAppName, qui retourne une chaîne terminée par null contenant le nom d’une application. Certains protocoles utilisent cette chaîne pour identifier votre application sur le serveur.

dwContext
Identificateur de contexte de l’opération. dwContext identifie les informations d’état de l’opération retournées par CInternetSession::OnStatusCallback. La valeur par défaut est 1, mais vous pouvez affecter explicitement un ID de contexte spécifique pour l’opération. L’objet et tout travail qu’il effectue sera associé à cet ID de contexte.

dwAccessType
Type d’accès requis. Voici les valeurs valides, dont l’une peut être fournie :

  • INTERNET_OPEN_TYPE_PRECONFIG Connexion à l’aide de paramètres préconfigurés dans le registre. Ce type d’accès est défini par défaut. Pour vous connecter via un proxy TIS, définissez dwAccessType sur cette valeur ; vous définissez ensuite le registre de manière appropriée.

  • INTERNET_OPEN_TYPE_DIRECT Connexion directe à Internet.

  • INTERNET_OPEN_TYPE_PROXY Connexion via un proxy CERN.

Pour plus d’informations sur la connexion avec différents types de proxys, consultez Étapes dans une application cliente FTP classique.

pstrProxyName
Nom du proxy CERN préféré si dwAccessType est défini comme INTERNET_OPEN_TYPE_PROXY. Par défaut, il s’agit de NULL.

pstrProxyBypass
Pointeur vers une chaîne contenant une liste facultative d’adresses serveur. Ces adresses peuvent être contournées lors de l’utilisation de l’accès par proxy. Si une valeur NULL est fournie, la liste de contournement est lue à partir du registre. Ce paramètre n’est significatif que si dwAccessType est défini sur INTERNET_OPEN_TYPE_PROXY.

dwFlags
Indique différentes options de mise en cache. La valeur par défaut est 0. Les valeurs possibles sont les suivantes :

  • INTERNET_FLAG_DONT_CACHE Ne pas cacher les données, localement ou dans des serveurs de passerelle.

  • INTERNET_FLAG_OFFLINE Les opérations de téléchargement sont satisfaites via le cache persistant uniquement. Si l’élément n’existe pas dans le cache, un code d’erreur approprié est retourné. Cet indicateur peut être combiné avec l’opérateur de bits « or » (|).

Notes

CInternetSession est la première fonction Internet appelée par une application. Elle initialise les structures de données internes et prépare les appels futurs de l’application.

Si aucune connexion Internet ne peut être ouverte, CInternetSession lève une exception AfxThrowInternetException.

Exemple

Consultez l’exemple pour CFtpFileFind.

CInternetSession::Close

Appelez cette fonction membre lorsque votre application a terminé d’utiliser l’objet CInternetSession.

virtual void Close();

Exemple

Consultez l’exemple pour CFtpFileFind.

CInternetSession::EnableStatusCallback

Appelez cette fonction membre pour activer le rappel d’état.

BOOL EnableStatusCallback(BOOL bEnable = TRUE);

Paramètres

bEnable
Indique si le rappel est activé ou désactivé. Par défaut, il s’agit de TRUE.

Valeur de retour

Valeur différente de zéro cas de réussite ; sinon, 0. Si l’appel échoue, déterminez la cause de l’échec en examinant l’objet CInternetException levé.

Notes

Lorsque vous gérez le rappel d’état, vous pouvez fournir un état sur la progression de l’opération (par exemple, résolution du nom, connexion au serveur, etc.) dans la barre d’état de l’application. L’affichage de l’état de l’opération est particulièrement souhaitable pendant une opération à long terme.

Étant donné que les rappels se produisent pendant le traitement de la requête, l’application devrait passer le moins de temps possible dans le rappel pour éviter la dégradation du débit des données sur le réseau. Par exemple, la mise en place d’une boîte de dialogue dans un rappel peut être une opération si longue que le serveur met fin à la requête.

Le rappel d’état ne peut pas être supprimé tant que des rappels sont en attente.

Pour gérer les opérations de façon asynchrone, vous devez créer votre propre thread ou utiliser les fonctions WinInet sans MFC.

CInternetSession::GetContext

Appelez cette fonction membre pour obtenir la valeur de contexte d’une session d’application particulière.

DWORD_PTR GetContext() const;

Valeur de retour

Identificateur de contexte défini par l’application.

Notes

OnStatusCallback utilise l’ID de contexte retourné par GetContext pour signaler l’état d’une application particulière. Par exemple, lorsqu’un utilisateur active une requête Internet qui implique le renvoi d’informations sur l’état, le rappel d’état utilise l’ID de contexte pour signaler l’état de cette requête en particulier. Si l’utilisateur active deux requêtes Internet distinctes qui impliquent toutes deux de retourner des informations sur l’état, OnStatusCallback utilise les identificateurs de contexte pour retourner l’état de leurs requêtes correspondantes. Par conséquent, l’identificateur de contexte est utilisé pour toutes les opérations de rappel d’état, et il est associé à la session jusqu’à ce qu’elle soit terminée.

Pour plus d’informations sur les opérations asynchrones, consultez l’article Premières étapes Internet : WinInet.

CInternetSession::GetCookie

Cette fonction membre implémente le comportement de la fonction Win32 InternetGetCookie, comme décrit dans le SDK Windows.

static BOOL GetCookie(
    LPCTSTR pstrUrl,
    LPCTSTR pstrCookieName,
    LPTSTR pstrCookieData,
    DWORD dwBufLen);

static BOOL GetCookie(
    LPCTSTR pstrUrl,
    LPCTSTR pstrCookieName,
    CString& strCookieData);

Paramètres

pstrUrl
Pointeur vers une chaîne contenant l’URL.

pstrCookieName
Pointeur vers une chaîne contenant le nom du cookie à obtenir pour l’URL spécifiée.

pstrCookieData
Dans la première surcharge, pointeur vers une chaîne contenant l’adresse de la mémoire tampon qui reçoit les données de cookie. Cette valeur peut être NULL. Dans la deuxième surcharge, référence à un objet CString pour recevoir les données de cookie.

dwBufLen
Variable spécifiant la taille de la mémoire tampon pstrCookieData. Si la fonction réussit, la mémoire tampon reçoit la quantité de données copiées dans la mémoire tampon pstrCookieData. Si pstrCookieData est NULL, ce paramètre reçoit une valeur qui spécifie la taille de la mémoire tampon nécessaire pour copier toutes les données de cookie.

Valeur de retour

Retourne TRUE en cas de réussite, sinon FALSE. Si l’appel échoue, appelez la fonction Win32 GetLastError pour déterminer la cause de l’erreur. Les valeurs d’erreur suivantes s’appliquent :

  • ERROR_NO_MORE_ITEMS Il n’existe aucun cookie pour l’URL spécifiée et tous ses parents.

  • ERROR_INSUFFICIENT_BUFFER La valeur passée dans dwBufLen est insuffisante pour copier toutes les données de cookie. La valeur retournée dans dwBufLen correspond à la taille de la mémoire tampon nécessaire pour obtenir toutes les données.

Notes

Dans la deuxième surcharge, MFC récupère les données de cookie dans l’objet CString fourni.

CInternetSession::GetCookieLength

Appelez cette fonction membre pour obtenir la longueur du cookie stocké dans la mémoire tampon.

static DWORD GetCookieLength(
    LPCTSTR pstrUrl,
    LPCTSTR pstrCookieName);

Paramètres

pstrUrl
Pointeur vers une chaîne contenant l’URL

pstrCookieName
Pointeur vers une chaîne contenant le nom du cookie.

Valeur de retour

Valeur DWORD indiquant la longueur du cookie, stockée dans la mémoire tampon. Zéro s’il n’existe aucun cookie portant le nom indiqué par pstrCookieName.

Notes

Cette valeur est utilisée par GetCookie.

CInternetSession::GetFtpConnection

Appelez cette fonction membre pour établir une connexion FTP et obtenir un pointeur vers un objet CFtpConnection.

CFtpConnection* GetFtpConnection(
    LPCTSTR pstrServer,
    LPCTSTR pstrUserName = NULL,
    LPCTSTR pstrPassword = NULL,
    INTERNET_PORT nPort = INTERNET_INVALID_PORT_NUMBER,
    BOOL bPassive = FALSE);

Paramètres

pstrServer
Pointeur vers une chaîne contenant le nom du serveur FTP.

pstrUserName
Pointeur vers une chaîne terminée par null qui spécifie le nom d’utilisateur pour se connecter. Si NULL, la valeur par défaut est anonyme.

pstrPassword
Pointeur vers une chaîne terminée par null qui spécifie le mot de passe à utiliser pour se connecter. Si pstrPassword et pstrUserName sont définis sur NULL, le mot de passe anonyme par défaut est le nom de l’adresse e-mail de l’utilisateur. Si pstrPassword est défini sur NULL (ou une chaîne vide), mais que pstrUserName n’est pas NULL, un mot de passe vide est utilisé. Le tableau suivant décrit le comportement des quatre paramètres possibles de pstrUserName et pstrPassword :

pstrUserName pstrPassword Nom d’utilisateur envoyé au serveur FTP Mot de passe envoyé au serveur FTP
NULL ou " " NULL ou " " "anonymous" Nom de l’adresse e-mail de l’utilisateur
Chaîne non-NULL NULL ou " " pstrUserName " "
NULL Chaîne non-NULL ERROR ERROR
Chaîne non-NULL Chaîne non-NULL pstrUserName pstrPassword

nPort
Nombre qui identifie le port TCP/IP à utiliser sur le serveur.

bPassive
Spécifie le mode passif ou actif pour cette session FTP. Si défini sur TRUE, définit le dwFlag de l’API Win32 sur INTERNET_FLAG_PASSIVE.

Valeur de retour

Pointeur vers un objet CFtpConnection. Si l’appel échoue, déterminez la cause de l’échec en examinant l’objet CInternetException levé.

Notes

GetFtpConnection se connecte à un serveur FTP, puis crée et retourne un pointeur vers un objet CFTPConnection. Cela n’effectue aucune opération spécifique sur le serveur. Si vous envisagez de lire ou d’écrire dans des fichiers, par exemple, vous devez effectuer ces opérations en tant qu’étapes séparées. Consultez les classes CFtpConnection et CFtpFileFind pour plus d’informations sur la recherche de fichiers, l’ouverture de fichiers et la lecture ou l’écriture dans des fichiers. Consultez l’article Programmation Internet avec WinInet pour connaître les étapes d’exécution des tâches courantes de connexion FTP.

Exemple

Consultez l’exemple pour CFtpFileFind.

CInternetSession::GetGopherConnection

Appelez cette fonction membre pour établir une nouvelle connexion gopher et obtenir un pointeur vers un objet CGopherConnection.

CGopherConnection* GetGopherConnection(
    LPCTSTR pstrServer,
    LPCTSTR pstrUserName = NULL,
    LPCTSTR pstrPassword = NULL,
    INTERNET_PORT nPort = INTERNET_INVALID_PORT_NUMBER);

Paramètres

pstrServer
Pointeur vers une chaîne contenant le nom du serveur gopher.

pstrUserName
Pointeur vers une chaîne contenant le nom d’utilisateur.

pstrPassword
Pointeur vers une chaîne contenant le mot de passe d’accès.

nPort
Nombre qui identifie le port TCP/IP à utiliser sur le serveur.

Valeur de retour

Pointeur vers un objet CGopherConnection. Si l’appel échoue, déterminez la cause de l’échec en examinant l’objet CInternetException levé.

Notes

GetGopherConnection se connecte à un serveur gopher, puis crée et retourne un pointeur vers un objet CGopherConnection. Cela n’effectue aucune opération spécifique sur le serveur. Si vous envisagez de lire ou d’écrire des données, par exemple, vous devez effectuer ces opérations en tant qu’étapes séparées. Consultez les classes CGopherConnection, CGopherFile et CGopherFileFind pour plus d’informations sur la recherche de fichiers, l’ouverture de fichiers et la lecture ou l’écriture dans des fichiers. Pour plus d’informations sur la navigation sur un site FTP, consultez la fonction membre OpenURL. Consultez l’article Programmation Internet avec WinInet pour connaître les étapes d’exécution des tâches courantes de connexion gopher.

CInternetSession::GetHttpConnection

Appelez cette fonction membre pour établir une connexion HTTP et obtenir un pointeur vers un objet CHttpConnection.

CHttpConnection* GetHttpConnection(
    LPCTSTR pstrServer,
    INTERNET_PORT nPort = INTERNET_INVALID_PORT_NUMBER,
    LPCTSTR pstrUserName = NULL,
    LPCTSTR pstrPassword = NULL);

CHttpConnection* GetHttpConnection(
    LPCTSTR pstrServer,
    DWORD dwFlags,
    INTERNET_PORT nPort = INTERNET_INVALID_PORT_NUMBER,
    LPCTSTR pstrUserName = NULL,
    LPCTSTR pstrPassword = NULL);

Paramètres

pstrServer
Pointeur vers une chaîne contenant le nom du serveur HTTP.

nPort
Nombre qui identifie le port TCP/IP à utiliser sur le serveur.

pstrUserName
Pointeur vers une chaîne contenant le nom d’utilisateur.

pstrPassword
Pointeur vers une chaîne contenant le mot de passe d’accès.

dwflags
Toute combinaison des indicateurs INTERNET_FLAG_*. Consultez le tableau dans la section Remarques de CHttpConnection::OpenRequest pour obtenir une description des valeurs de dwFlags.

Valeur de retour

Pointeur vers un objet CHttpConnection. Si l’appel échoue, déterminez la cause de l’échec en examinant l’objet CInternetException levé.

Notes

GetHttpConnection se connecte à un serveur HTTP, puis crée et retourne un pointeur vers un objet CHttpConnection. Cela n’effectue aucune opération spécifique sur le serveur. Si vous envisagez d’interroger un en-tête HTTP, par exemple, vous devez effectuer cette opération en tant qu’étape séparée. Consultez les classes CHttpConnection et CHttpFile pour plus d’informations sur les opérations que vous pouvez effectuer à l’aide d’une connexion à un serveur HTTP. Pour plus d’informations sur la navigation sur un site HTTP, consultez la fonction membre OpenURL. Consultez l’article Programmation Internet avec WinInet pour connaître les étapes d’exécution des tâches courantes de connexion HTTP.

CInternetSession::OnStatusCallback

Cette fonction membre est appelée par l’infrastructure pour mettre à jour l’état lorsque le rappel d’état est activé et qu’une opération est en attente.

virtual void OnStatusCallback(
    DWORD_PTR dwContext,
    DWORD dwInternetStatus,
    LPVOID lpvStatusInformation,
    DWORD dwStatusInformationLength);

Paramètres

dwContext
Valeur de contexte fournie par l’application.

dwInternetStatus
Code d’état indiquant pourquoi le rappel est effectué. Consultez les Remarques pour obtenir un tableau des valeurs possibles.

lpvStatusInformation
Pointeur vers une mémoire tampon contenant des informations pertinentes pour ce rappel.

dwStatusInformationLength
Taille de lpvStatusInformation.

Notes

Vous devez d’abord appeler EnableStatusCallback pour tirer parti du rappel d’état.

Le paramètre dwInternetStatus indique l’opération en cours d’exécution et détermine quel sera le contenu de lpvStatusInformation. dwStatusInformationLength indique la longueur des données incluses dans lpvStatusInformation. Les valeurs d’état suivantes pour dwInternetStatus sont définies comme suit :

Valeur Signification
INTERNET_STATUS_RESOLVING_NAME Recherche de l’adresse IP du nom contenu dans lpvStatusInformation.
INTERNET_STATUS_NAME_RESOLVED L’adresse IP du nom contenu dans lpvStatusInformation a bien été trouvée.
INTERNET_STATUS_CONNECTING_TO_SERVER Connexion à l’adresse de socket (SOCKADDR) pointée par lpvStatusInformation.
INTERNET_STATUS_CONNECTED_TO_SERVER Connecté avec succès à l’adresse de socket (SOCKADDR) pointée par lpvStatusInformation.
INTERNET_STATUS_SENDING_REQUEST Envoi de la demande d’informations au serveur. Le paramètre lpvStatusInformation a la valeur NULL.
INTERNET_STATUS_REQUEST_SENT La demande d’informations a été envoyée au serveur avec succès. Le paramètre lpvStatusInformation a la valeur NULL.
INTERNET_STATUS_RECEIVING_RESPONSE En attente de réponse du serveur à une demande. Le paramètre lpvStatusInformation a la valeur NULL.
INTERNET_STATUS_RESPONSE_RECEIVED Une réponse a bien été reçue du serveur. Le paramètre lpvStatusInformation a la valeur NULL.
INTERNET_STATUS_CLOSING_CONNECTION Fermeture de la connexion au serveur. Le paramètre lpvStatusInformation a la valeur NULL.
INTERNET_STATUS_CONNECTION_CLOSED La connexion au serveur a été fermée avec succès. Le paramètre lpvStatusInformation a la valeur NULL.
INTERNET_STATUS_HANDLE_CREATED Utilisé par la fonction InternetConnect de l’API Win32 pour indiquer que le nouveau descripteur a été créé. Cela permet à l’application d’appeler la fonction InternetCloseHandle Win32 à partir d’un autre thread si la connexion prend trop de temps. Pour plus d’informations sur ces fonctions, consultez le SDK Windows.
INTERNET_STATUS_HANDLE_CLOSING Cette valeur de descripteur a été terminée avec succès.

Remplacez cette fonction membre pour exiger une action avant l’exécution d’une routine de rappel d’état.

Remarque

Les rappels d’état nécessitent une protection de l’état du thread. Si vous utilisez MFC dans une bibliothèque partagée, ajoutez la ligne suivante au début de votre remplacement :

AFX_MANAGE_STATE(AfxGetAppModuleState());

Pour plus d’informations sur les opérations asynchrones, consultez l’article Premières étapes Internet : WinInet.

CInternetSession::OpenURL

Appelez cette fonction membre pour envoyer la requête spécifiée au serveur HTTP et autoriser le client à spécifier des en-têtes RFC822, MIME ou HTTP supplémentaires à envoyer avec la requête.

CStdioFile* OpenURL(
    LPCTSTR pstrURL,
    DWORD_PTR dwContext = 1,
    DWORD dwFlags = INTERNET_FLAG_TRANSFER_ASCII,
    LPCTSTR pstrHeaders = NULL,
    DWORD dwHeadersLength = 0);

Paramètres

pstrURL
Pointeur vers le nom de l’URL pour commencer la lecture. Seules les URL commençant par file:, ftp:, gopher:ou http: sont prises en charge. Affirme si pstrURL est NULL.

dwContext
Valeur définie par l’application passée avec le descripteur retourné dans le rappel.

dwFlags
Indicateurs décrivant comment gérer cette connexion. Pour plus d’informations sur les indicateurs valides, consultez les Remarques. Les indicateurs valides sont les suivants :

  • INTERNET_FLAG_TRANSFER_ASCII Indicateur par défaut. Transférer le fichier en tant que texte ASCII.

  • INTERNET_FLAG_TRANSFER_BINARY Transférer le fichier en tant que fichier binaire.

  • INTERNET_FLAG_RELOAD Obtenir les données à partir du réseau, même si elles sont mises en cache localement.

  • INTERNET_FLAG_DONT_CACHE Ne pas mettre en cache les données, localement ou dans toute passerelle.

  • INTERNET_FLAG_SECURE Cet indicateur s’applique uniquement aux requêtes HTTP. Il demande des transactions sécurisées sur le réseau avec le protocole SSL ou PCT.

  • INTERNET_OPEN_FLAG_USE_EXISTING_CONNECT Si possible, réutilisez les connexions existantes au serveur pour les nouvelles requêtes générées par OpenUrl au lieu de créer une nouvelle session pour chaque demande de connexion.

  • INTERNET_FLAG_PASSIVE Utilisé pour un site FTP. Utilise la sémantique FTP passive. Utilisé avec la classe CInternetConnection d’OpenURL.

pstrHeaders
Pointeur vers une chaîne contenant les en-têtes à envoyer au serveur HTTP.

dwHeadersLength
Longueur, en caractères, des en-têtes supplémentaires. S’il s’agit de -1L et que pstrHeaders n’est pas NULL, on suppose que pstrHeaders se termine par zéro et la longueur est calculée.

Valeur de retour

Retourne un indicateur de fichier pour les services Internet de type FTP, GOPHER, HTTP et FILE uniquement. Retourne NULL si l’analyse a échoué.

Le pointeur que retourne OpenURL dépend du type de service de pstrURL. Le tableau ci-dessous illustre les pointeurs possibles que OpenURL peut retourner.

Type d’URL Retours
file:// CStdioFile*
http:// CHttpFile*
gopher:// CGopherFile*
ftp:// CInternetFile*

Notes

Le paramètre dwFlags doit inclure INTERNET_FLAG_TRANSFER_ASCII ou INTERNET_FLAG_TRANSFER_BINARY, mais pas les deux. Les indicateurs restants peuvent être combinés avec l’opérateur de bits « ou » (|).

OpenURL, qui encapsule la fonction InternetOpenURL Win32, autorise uniquement le téléchargement, la récupération et la lecture des données à partir d’un serveur Internet. OpenURL n’autorise aucune manipulation de fichier sur un emplacement distant et ne nécessite donc aucun objet CInternetConnection.

Pour utiliser des fonctions spécifiques à la connexion (c’est-à-dire spécifiques au protocole), telles que l’écriture dans un fichier, vous devez ouvrir une session, puis ouvrir un type de connexion particulier avant d’utiliser cette connexion pour ouvrir un fichier dans le mode souhaité. Pour plus d’informations sur les fonctions spécifiques à la connexion, consultez CInternetConnection.

CInternetSession::operator HINTERNET

Utilisez cet opérateur pour obtenir le descripteur Windows pour la session Internet active.

operator HINTERNET() const;

CInternetSession::SetCookie

Définit un cookie pour l’URL spécifiée.

static BOOL SetCookie(
    LPCTSTR pstrUrl,
    LPCTSTR pstrCookieName,
    LPCTSTR pstrCookieData);

Paramètres

pstrUrl
Pointeur vers une chaîne terminée par null qui spécifie l’URL pour laquelle le cookie doit être défini.

pstrCookieName
Pointeur vers une chaîne contenant le nom du cookie.

pstrCookieData
Pointeur vers une chaîne contenant les données de chaîne réelles à associer à l’URL.

Valeur de retour

Retourne TRUE en cas de réussite, sinon FALSE. Pour obtenir le code d’erreur spécifique, appelez GetLastError.

Notes

Cette fonction membre implémente le comportement du message InternetSetCookie Win32, comme décrit dans le SDK Windows.

CInternetSession::SetOption

Appelez cette fonction membre pour définir les options de la session Internet.

BOOL SetOption(
    DWORD dwOption,
    LPVOID lpBuffer,
    DWORD dwBufferLength,
    DWORD dwFlags = 0);

BOOL SetOption(
    DWORD dwOption,
    DWORD dwValue,
    DWORD dwFlags = 0);

Paramètres

dwOption
Option Internet à définir. Consultez Indicateurs d’option dans le SDK Windows pour obtenir la liste des options possibles.

lpBuffer
Mémoire tampon contenant le paramètre d’option.

dwBufferLength
Longueur de lpBuffer ou taille de dwValue.

dwValue
DWORD contenant le paramètre d’option.

dwFlags
Indique différentes options de mise en cache. La valeur par défaut est 0. Les valeurs possibles sont les suivantes :

  • INTERNET_FLAG_DONT_CACHE Ne pas cacher les données, localement ou dans des serveurs de passerelle.

  • INTERNET_FLAG_OFFLINE Les opérations de téléchargement sont satisfaites via le cache persistant uniquement. Si l’élément n’existe pas dans le cache, un code d’erreur approprié est retourné. Cet indicateur peut être combiné avec l’opérateur de bits « or » (|).

Valeur de retour

Si l’opération a réussi, une valeur TRUE est retournée. Si une erreur s’est produite, une valeur FALSE est retournée. Si l’appel échoue, la fonction GetLastError Win32 peut être appelée pour déterminer la cause de l’erreur.

Voir aussi

CObject Classe
Graphique hiérarchique
CInternetConnection Classe
CHttpConnection Classe
CFtpConnection Classe
CGopherConnection Classe