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 :
GetGopherConnection
pour ouvrir une connexion à un service gopher.GetHttpConnection
pour ouvrir une connexion à un service HTTP.GetFtpConnection
pour ouvrir une connexion à un service FTP.
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ête : afxinet.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éfinissezdwAccessType
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 dansdwBufLen
est insuffisante pour copier toutes les données de cookie. La valeur retournée dansdwBufLen
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 parOpenUrl
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 classeCInternetConnection
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