Compartir a través de


Clase CInternetSession

Crea e inicializa una o varias sesiones de Internet simultáneas y, si es necesario, describe la conexión a un servidor proxy.

Sintaxis

class CInternetSession : public CObject

Miembros

Constructores públicos

Nombre Descripción
CInternetSession::CInternetSession Construye un objeto CInternetSession.

Métodos públicos

Nombre Descripción
CInternetSession::Close Cierra la conexión a Internet cuando finaliza la sesión de Internet.
CInternetSession::EnableStatusCallback Establece una rutina de devolución de llamada de estado.
CInternetSession::GetContext Cierra la conexión a Internet cuando finaliza la sesión de Internet.
CInternetSession::GetCookie Devuelve las cookies correspondientes a la dirección URL especificada y todas sus direcciones URL primarias.
CInternetSession::GetCookieLength Recupera la variable que especifica la longitud de la cookie almacenada en el búfer.
CInternetSession::GetFtpConnection Abre una sesión FTP con un servidor. Inicia sesión del usuario.
CInternetSession::GetGopherConnection Abre un servidor gopher para una aplicación que intenta abrir una conexión.
CInternetSession::GetHttpConnection Abre un servidor HTTP para una aplicación que intenta abrir una conexión.
CInternetSession::OnStatusCallback Actualiza el estado de una operación cuando está habilitada la devolución de llamada de estado.
CInternetSession::OpenURL Analiza y abre una dirección URL.
CInternetSession::SetCookie Establece una cookie para la dirección URL especificada.
CInternetSession::SetOption Establece las opciones de la sesión de Internet.

Operadores públicos

Nombre Descripción
CInternetSession::operator HINTERNET Identificador de la sesión actual de Internet.

Comentarios

Si se debe mantener la conexión a Internet durante la duración de una aplicación, puede crear un miembro CInternetSession de la clase CWinApp.

Una vez establecida una sesión de Internet, puede llamar a OpenURL. A continuación, CInternetSession analiza automáticamente la dirección URL mediante una llamada a la función global AfxParseURL. Independientemente de su tipo de protocolo, CInternetSession interpreta la dirección URL y la administra automáticamente. Puede controlar las solicitudes de archivos locales identificados con el recurso de dirección URL "file://". OpenURL devolverá un puntero a un objeto CStdioFile si el nombre que se pasa es un archivo local.

Si abre una dirección URL en un servidor de Internet mediante OpenURL, puede leer información del sitio. Si desea realizar acciones específicas del servicio (por ejemplo, HTTP, FTP o gopher) en los archivos ubicados en un servidor, debe establecer la conexión adecuada con ese servidor. Para abrir un tipo determinado de conexión directamente a un servicio determinado, use una de las siguientes funciones miembro:

SetOption permite establecer las opciones de consulta de la sesión, como los valores de tiempo de espera, el número de reintentos, etc.

Las funciones miembro de CInternetSession SetCookie, GetCookie y GetCookieLength proporcionan los medios para administrar una base de datos de cookies de Win32, mediante la cual los servidores y scripts mantienen información de estado sobre la estación de trabajo cliente.

Para obtener más información sobre las tareas básicas de programación de Internet, consulte el artículo Fundamentos de WinInet. Para obtener información general sobre el uso de las clases de WinInet de MFC, consulte el artículo Extensiones de Internet de Win32 (WinInet).

Nota:

CInternetSession producirá una excepción AfxThrowNotSupportedException para los tipos de servicio no admitidos. Actualmente, solo se admiten los siguientes tipos de servicio: FTP, HTTP, gopher y file.

Jerarquía de herencia

CObject
CInternetSession

Requisitos

Encabezado: afxinet.h

CInternetSession::CInternetSession

Se llama a esta función miembro cuando se crea un objeto CInternetSession.

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

Parámetros

pstrAgent
Puntero a una cadena que identifica el nombre de la aplicación o entidad que llama a las funciones de Internet (por ejemplo, "Microsoft Internet Browser"). Si pstrAgent es NULL (valor predeterminado), el marco de trabajo llama a la función global AfxGetAppName, que devuelve una cadena terminada en null que contiene el nombre de una aplicación. Algunos protocolos usan esta cadena para identificar la aplicación en el servidor.

dwContext
Identificador de contexto de la operación. dwContext identifica la información de estado de la operación devuelta por CInternetSession::OnStatusCallback. El valor predeterminado se establece en 1; sin embargo, puede asignar explícitamente un identificador de contexto específico para la operación. El objeto y cualquier trabajo que haga se asociarán a ese identificador de contexto.

dwAccessType
Tipo de acceso necesario. Los siguientes son valores válidos y se puede proporcionar exactamente uno de ellos:

  • INTERNET_OPEN_TYPE_PRECONFIG Conectarse mediante las opciones preconfiguradas en el Registro. Este tipo de acceso se establece como predeterminado. Para conectarse mediante un proxy TIS, establezca dwAccessType en este valor; a continuación, establezca el Registro adecuadamente.

  • INTERNET_OPEN_TYPE_DIRECT Conectarse directamente a Internet.

  • INTERNET_OPEN_TYPE_PROXY Conectarse mediante un proxy CERN.

Para obtener información sobre cómo conectarse con diferentes tipos de servidores proxy, consulte Pasos de una aplicación cliente FTP típica.

pstrProxyName
Nombre del servidor proxy CERN preferido si dwAccessType se ha establecido como INTERNET_OPEN_TYPE_PROXY. El valor predeterminado es NULL.

pstrProxyBypass
Puntero a una cadena que contiene una lista opcional de direcciones de servidor. Estas direcciones se pueden omitir al usar el acceso mediante proxy. Si se proporciona un valor NULL, se leerá del Registro la lista de omisión. Este parámetro solo es significativo si se ha establecido dwAccessType en INTERNET_OPEN_TYPE_PROXY.

dwFlags
Indica varias opciones de almacenamiento en caché. El valor predeterminado está establecido en 0. Entre los valores posibles, figuran:

  • INTERNET_FLAG_DONT_CACHE No almacenar en caché los datos, ya sea localmente ni en ningún servidor de puerta de enlace.

  • INTERNET_FLAG_OFFLINE Las operaciones de descarga solo se cumplen mediante la caché persistente. Si el elemento no existe en la memoria caché, se devuelve un código de error adecuado. Esta marca se puede combinar con el operador bit a bit "or" (|).

Comentarios

CInternetSession es la primera función de Internet a la que llama una aplicación. Inicializa estructuras de datos internas y se prepara para las futuras llamadas desde la aplicación.

Si no se puede abrir ninguna conexión a Internet, CInternetSession genera una excepción AfxThrowInternetException.

Ejemplo

Vea el ejemplo de CFtpFileFind.

CInternetSession::Close

Llame a esta función miembro cuando la aplicación haya terminado de usar el objeto CInternetSession.

virtual void Close();

Ejemplo

Vea el ejemplo de CFtpFileFind.

CInternetSession::EnableStatusCallback

Llame a esta función miembro para habilitar la devolución de llamada de estado.

BOOL EnableStatusCallback(BOOL bEnable = TRUE);

Parámetros

bEnable
Especifica si la devolución de llamada está habilitada o deshabilitada. El valor predeterminado es TRUE.

Valor devuelto

Si es correcta, su valor es distinto de cero. En caso contrario, es cero. Si se produce un error en la llamada, determine la causa del error examinando el objeto CInternetException generado.

Comentarios

Al controlar la devolución de llamada de estado, puede proporcionar información de estado sobre el progreso de la operación (por ejemplo, resolver el nombre, conectarse al servidor, etc.) en la barra de estado de la aplicación. Mostrar el estado de la operación es especialmente deseable durante una operación de larga duración.

Dado que las devoluciones de llamada se producen durante el procesamiento de la solicitud, la aplicación debe dedicar el menor tiempo posible en la devolución de llamada para evitar la degradación del rendimiento de los datos en la red. Por ejemplo, colocar un cuadro de diálogo en una devolución de llamada puede ser una operación tan larga que el servidor finaliza la solicitud.

La devolución de llamada de estado no se puede quitar mientras haya devoluciones de llamada pendientes.

Para controlar las operaciones de forma asincrónica, debe crear su propio subproceso o usar las funciones de WinInet sin MFC.

CInternetSession::GetContext

Llame a esta función miembro para obtener el valor de contexto de una sesión de aplicación determinada.

DWORD_PTR GetContext() const;

Valor devuelto

Identificador de contexto definido por la aplicación.

Comentarios

OnStatusCallback usa el identificador de contexto devuelto por GetContext para notificar el estado de una aplicación determinada. Por ejemplo, cuando un usuario activa una solicitud de Internet que implica devolver información de estado, la devolución de llamada de estado usa el identificador de contexto para notificar el estado de esa solicitud en particular. Si el usuario activa dos solicitudes de Internet independientes que implican devolver información de estado, OnStatusCallback usa los identificadores de contexto para devolver el estado sobre sus solicitudes correspondientes. Por lo tanto, el identificador de contexto se usa para todas las operaciones de devolución de llamada de estado y está asociado a la sesión hasta que finaliza la sesión.

Para obtener más información sobre las operaciones asincrónicas, consulte el artículo Fundamentos de WinInet.

CInternetSession::GetCookie

En esta función miembro, se implementa el comportamiento de la función InternetGetCookie de Win32, tal y como se describe en Windows SDK.

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

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

Parámetros

pstrUrl
Puntero a una cadena que contiene la dirección URL.

pstrCookieName
Puntero a una cadena que contiene el nombre de la cookie que se va a obtener para la dirección URL especificada.

pstrCookieData
En la primera sobrecarga, es un puntero a una cadena que contiene la dirección del búfer que recibe los datos de la cookie. Este valor puede ser NULL. En la segunda sobrecarga, es una referencia a un objeto CString que va a recibir los datos de la cookie.

dwBufLen
Variable que especifica el tamaño del búfer pstrCookieData. Si la función se ejecuta correctamente, el búfer recibe la cantidad de datos copiados en el búfer pstrCookieData. Si pstrCookieData es NULL, este parámetro recibe un valor que especifica el tamaño del búfer necesario para copiar todos los datos de la cookie.

Valor devuelto

Devuelve TRUE si se realizó correctamente; de lo contrario, FALSE. Si se produce un error en la llamada, llame a la función GetLastError de Win32 para determinar la causa del error. Se aplican los siguientes valores de error:

  • ERROR_NO_MORE_ITEMS No hay ninguna cookie para la dirección URL especificada y todos sus elementos primarios.

  • ERROR_INSUFFICIENT_BUFFER El valor que se ha pasado en dwBufLen no es suficiente para copiar todos los datos de la cookie. El valor devuelto en dwBufLen es el tamaño del búfer necesario para obtener todos los datos.

Comentarios

En la segunda sobrecarga, MFC recupera los datos de la cookie en el objeto CString proporcionado.

CInternetSession::GetCookieLength

Llame a esta función miembro para obtener la longitud de la cookie almacenada en el búfer.

static DWORD GetCookieLength(
    LPCTSTR pstrUrl,
    LPCTSTR pstrCookieName);

Parámetros

pstrUrl
Puntero a una cadena que contiene la dirección URL.

pstrCookieName
Puntero a una cadena que contiene el nombre de la cookie.

Valor devuelto

Valor DWORD que indica la longitud de la cookie almacenada en el búfer. Cero si no existe ninguna cookie con el nombre indicado por pstrCookieName.

Comentarios

Este valor lo usa GetCookie.

CInternetSession::GetFtpConnection

Llame a esta función miembro para establecer una conexión FTP y obtener un puntero a un objeto CFtpConnection.

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

Parámetros

pstrServer
Puntero a una cadena que contiene el nombre del servidor FTP.

pstrUserName
Puntero a una cadena terminada en NULL que especifica el nombre del usuario en el que se inicia sesión. Si es NULL, el valor predeterminado es anonymous (anónimo).

pstrPassword
Puntero a una cadena terminada en NULL que especifica la contraseña que se usará para iniciar sesión. Si pstrPassword y pstrUserName son NULL, la contraseña anónima predeterminada es el nombre de correo electrónico del usuario. Si pstrPassword es NULL (o una cadena vacía), pero pstrUserName no es NULL, se usa una contraseña en blanco. En la tabla siguiente, se describe el comportamiento de las cuatro configuraciones posibles de pstrUserName y pstrPassword:

pstrUserName pstrPassword Nombre de usuario enviado al servidor FTP Contraseña enviada al servidor FTP
NULL o " " NULL o " " "anonymous" Nombre de correo electrónico del usuario
Cadena que no tenga un valor NULL NULL o " " pstrUserName " "
NULL Cadena que no tenga un valor NULL ERROR ERROR
Cadena que no tenga un valor NULL Cadena que no tenga un valor NULL pstrUserName pstrPassword

nPort
Número que identifica el puerto TCP/IP que se usará en el servidor.

bPassive
Especifica el modo pasivo o activo para esta sesión FTP. Si se establece en TRUE, establece el elemento dwFlag de la API de Win32 en INTERNET_FLAG_PASSIVE.

Valor devuelto

Puntero a un objeto CFtpConnection . Si se produce un error en la llamada, determine la causa del error examinando el objeto CInternetException generado.

Comentarios

GetFtpConnection se conecta a un servidor FTP y crea y devuelve un puntero a un objeto CFTPConnection. No realiza ninguna operación específica en el servidor. Si tiene previsto leer o escribir en archivos, por ejemplo, debe realizar esas operaciones como pasos independientes. Consulte las clases CFtpConnection y CFtpFileFind para obtener información sobre cómo buscar archivos, abrir archivos y leer o escribir en archivos. Consulte el artículo Extensiones de Internet de Win32 (WinInet) para conocer los pasos para realizar tareas comunes de conexión FTP.

Ejemplo

Vea el ejemplo de CFtpFileFind.

CInternetSession::GetGopherConnection

Llame a esta función miembro para establecer una nueva conexión gopher y obtener un puntero a un objeto CGopherConnection.

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

Parámetros

pstrServer
Puntero a una cadena que contiene el nombre del servidor gopher.

pstrUserName
Puntero a una cadena que contiene el nombre de usuario.

pstrPassword
Puntero a una cadena que contiene la contraseña de acceso.

nPort
Número que identifica el puerto TCP/IP que se usará en el servidor.

Valor devuelto

Puntero a un objeto CGopherConnection . Si se produce un error en la llamada, determine la causa del error examinando el objeto CInternetException generado.

Comentarios

GetGopherConnection se conecta a un servidor gopher y crea y devuelve un puntero a un objeto CGopherConnection. No realiza ninguna operación específica en el servidor. Si tiene previsto leer o escribir datos, por ejemplo, debe realizar esas operaciones como pasos independientes. Consulte las clases CGopherConnection, CGopherFile y CGopherFileFind para obtener información sobre cómo buscar archivos, abrir archivos y leer o escribir en archivos. Para obtener información sobre cómo examinar un sitio FTP, consulte la función miembro OpenURL. Consulte el artículo Extensiones de Internet de Win32 (WinInet) para conocer los pasos para realizar las tareas comunes de una conexión gopher.

CInternetSession::GetHttpConnection

Llame a esta función miembro para establecer una conexión HTTP y obtener un puntero a un objeto 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);

Parámetros

pstrServer
Puntero a una cadena que contiene el nombre del servidor HTTP.

nPort
Número que identifica el puerto TCP/IP que se usará en el servidor.

pstrUserName
Puntero a una cadena que contiene el nombre de usuario.

pstrPassword
Puntero a una cadena que contiene la contraseña de acceso.

dwflags
Cualquier combinación de las marcas INTERNET_FLAG_*. Consulte la tabla de la sección Comentarios de CHttpConnection::OpenRequest para obtener una descripción de los valores de dwFlags.

Valor devuelto

Puntero a un objeto CHttpConnection . Si se produce un error en la llamada, determine la causa del error examinando el objeto CInternetException generado.

Comentarios

GetHttpConnection se conecta a un servidor HTTP y crea y devuelve un puntero a un objeto CHttpConnection. No realiza ninguna operación específica en el servidor. Si tiene previsto consultar un encabezado HTTP, por ejemplo, debe realizar esta operación como un paso independiente. Consulte las clases CHttpConnection y CHttpFile para obtener información sobre las operaciones que puede realizar mediante una conexión a un servidor HTTP. Para obtener información sobre cómo examinar un sitio HTTP, consulte la función miembro OpenURL. Consulte el artículo Extensiones de Internet de Win32 (WinInet) para conocer los pasos para realizar tareas comunes de conexión HTTP.

CInternetSession::OnStatusCallback

El marco de trabajo llama a esta función miembro para actualizar el estado cuando la devolución de llamada de estado está habilitada y hay una operación pendiente.

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

Parámetros

dwContext
Valor de contexto proporcionado por la aplicación.

dwInternetStatus
Código de estado que indica por qué se realiza la devolución de llamada. Consulte Comentarios para obtener una tabla de valores posibles.

lpvStatusInformation
Puntero a un búfer que contiene información pertinente para esta devolución de llamada.

dwStatusInformationLength
Tamaño de lpvStatusInformation.

Comentarios

Primero debe llamar a EnableStatusCallback para aprovechar las ventajas de la devolución de llamada de estado.

El parámetro dwInternetStatus indica la operación que se realiza y determina cuál será el contenido de lpvStatusInformation. dwStatusInformationLength indica la longitud de los datos incluidos en lpvStatusInformation. Los siguientes valores de estado para dwInternetStatus se definen de la siguiente manera:

Valor Significado
INTERNET_STATUS_RESOLVING_NAME Buscando la dirección IP del nombre contenido en lpvStatusInformation.
INTERNET_STATUS_NAME_RESOLVED Se encontró correctamente la dirección IP del nombre incluido en lpvStatusInformation.
INTERNET_STATUS_CONNECTING_TO_SERVER Conectando a la dirección de socket (SOCKADDR) a la que apunta lpvStatusInformation.
INTERNET_STATUS_CONNECTED_TO_SERVER Se ha conectado correctamente a la dirección de socket (SOCKADDR) a la que apunta lpvStatusInformation.
INTERNET_STATUS_SENDING_REQUEST Enviando la solicitud de información al servidor. El parámetro lpvStatusInformation es NULL.
INTERNET_STATUS_REQUEST_SENT Se ha enviado correctamente la solicitud de información al servidor. El parámetro lpvStatusInformation es NULL.
INTERNET_STATUS_RECEIVING_RESPONSE Esperando que el servidor responda a una solicitud. El parámetro lpvStatusInformation es NULL.
INTERNET_STATUS_RESPONSE_RECEIVED Se recibió correctamente una respuesta del servidor. El parámetro lpvStatusInformation es NULL.
INTERNET_STATUS_CLOSING_CONNECTION Cerrando la conexión al servidor. El parámetro lpvStatusInformation es NULL.
INTERNET_STATUS_CONNECTION_CLOSED Se ha cerrado correctamente la conexión al servidor. El parámetro lpvStatusInformation es NULL.
INTERNET_STATUS_HANDLE_CREATED Utilizado por la función InternetConnect de la API de Win32 para indicar que ha creado el nuevo manipulador. Esto permite que la aplicación llame a la función InternetCloseHandle de Win32 desde otro subproceso si la conexión tarda demasiado tiempo. Para más información sobre estas funciones, consulte Windows SDK.
INTERNET_STATUS_HANDLE_CLOSING Este valor de manipulador ha finalizado correctamente.

Invalide esta función miembro para requerir alguna acción antes de que se realice una rutina de devolución de llamada de estado.

Nota:

Las devoluciones de llamada de estado necesitan protección de estado de subproceso. Si usa MFC en una biblioteca compartida, agregue la siguiente línea al principio de la invalidación:

AFX_MANAGE_STATE(AfxGetAppModuleState());

Para obtener más información sobre las operaciones asincrónicas, consulte el artículo Fundamentos de WinInet.

CInternetSession::OpenURL

Llame a esta función miembro para enviar la solicitud especificada al servidor HTTP y permitir que el cliente especifique encabezados RFC822, MIME o HTTP adicionales para enviarlos junto con la solicitud.

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

Parámetros

pstrURL
Puntero al nombre de la dirección URL que se va a empezar a leer. Solo se admiten las direcciones URL que comienzan por file:, ftp:, gopher: o http:. Afirma si pstrURL es NULL.

dwContext
Valor definido por la aplicación pasado con el manipulador devuelto en la devolución de llamada.

dwFlags
Marcas que describen cómo controlar esta conexión. Consulte Comentarios para obtener más información sobre las marcas válidas. Las marcas válidas son:

  • INTERNET_FLAG_TRANSFER_ASCII Valor predeterminado. Transferir el archivo como texto ASCII.

  • INTERNET_FLAG_TRANSFER_BINARY Transferir el archivo como un archivo binario.

  • INTERNET_FLAG_RELOAD Obtener los datos de la conexión incluso si está almacenado localmente en caché.

  • INTERNET_FLAG_DONT_CACHE No almacene en caché los datos, ya sea localmente o en ninguna puerta de enlace.

  • INTERNET_FLAG_SECURE Esta marca solo es aplicable a las solicitudes HTTP. Solicita transacciones seguras en la conexión con Capa de sockets seguros o PCT.

  • INTERNET_OPEN_FLAG_USE_EXISTING_CONNECT Si es posible, volver a usar las conexiones existentes al servidor para las nuevas solicitudes generadas por OpenUrl en lugar de crear una nueva sesión para cada solicitud de conexión.

  • INTERNET_FLAG_PASSIVE Se usa para un sitio FTP. Usa la semántica de FTP pasivo. Se usa con el elemento CInternetConnection de OpenURL.

pstrHeaders
Puntero a una cadena que contiene los encabezados que se van a enviar al servidor HTTP.

dwHeadersLength
Longitud, en caracteres, de los encabezados adicionales. Si es -1L y pstrHeaders no es NULL, se supone que pstrHeaders se termina con cero y se calcula la longitud.

Valor devuelto

Devuelve un manipulador de archivo solo para los servicios de Internet de tipo FTP, GOPHER, HTTP y FILE. Devuelve NULL si el análisis no se realizó correctamente.

El puntero que devuelve OpenURL depende del tipo de servicio de pstrURL. En la tabla siguiente, se muestran los posibles punteros que puede devolver OpenURL.

Tipo de dirección URL Devoluciones
file:// CStdioFile*
http:// CHttpFile*
gopher:// CGopherFile*
ftp:// CInternetFile*

Comentarios

El parámetro dwFlags debe incluir INTERNET_FLAG_TRANSFER_ASCII o INTERNET_FLAG_TRANSFER_BINARY, pero no ambos. Las marcas restantes se pueden combinar con el operador bit a bit "or" (|).

OpenURL, que encapsula la función InternetOpenURL de Win32, solo permite descargar, recuperar y leer los datos de un servidor de Internet. OpenURL no permite ninguna manipulación de archivos en una ubicación remota, por lo que no requiere ningún objeto CInternetConnection.

Para usar funciones específicas de la conexión (es decir, específicas del protocolo), como escribir en un archivo, debe abrir una sesión y, a continuación, abrir un tipo determinado de conexión y, a continuación, usar esa conexión para abrir un archivo en el modo deseado. Consulte CInternetConnection para obtener más información sobre las funciones específicas de la conexión.

CInternetSession::operator HINTERNET

Use este operador para obtener el manipulador de Windows de la sesión actual de Internet.

operator HINTERNET() const;

CInternetSession::SetCookie

Establece una cookie para la dirección URL especificada.

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

Parámetros

pstrUrl
Puntero a una cadena terminada en null que especifica la dirección URL para la que se debe establecer la cookie.

pstrCookieName
Puntero a una cadena que contiene el nombre de la cookie.

pstrCookieData
Puntero a una cadena que contiene los datos de cadena reales que se van a asociar a la dirección URL.

Valor devuelto

Devuelve TRUE si se realizó correctamente; de lo contrario, FALSE. Para obtener el código de error específico, llame a GetLastError.

Comentarios

En esta función miembro, se implementa el comportamiento del mensaje InternetSetCookie de Win32, tal y como se describe en Windows SDK.

CInternetSession::SetOption

Llame a esta función miembro para establecer las opciones de la sesión de Internet.

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

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

Parámetros

dwOption
Opción de Internet que se va a establecer. Consulte Marcas de opción (Wininet.h) en Windows SDK para obtener una lista de las posibles opciones.

lpBuffer
Búfer que contiene la configuración de opción.

dwBufferLength
Longitud de lpBuffer o tamaño de dwValue.

dwValue
Elemento DWORD que contiene la configuración de opción.

dwFlags
Indica varias opciones de almacenamiento en caché. El valor predeterminado está establecido en 0. Entre los valores posibles, figuran:

  • INTERNET_FLAG_DONT_CACHE No almacenar en caché los datos, ya sea localmente ni en ningún servidor de puerta de enlace.

  • INTERNET_FLAG_OFFLINE Las operaciones de descarga solo se cumplen mediante la caché persistente. Si el elemento no existe en la memoria caché, se devuelve un código de error adecuado. Esta marca se puede combinar con el operador bit a bit "or" (|).

Valor devuelto

Si la operación se realizó correctamente, se devuelve el valor TRUE. Si se ha producido un error, se devuelve el valor FALSE. Si se produce un error en la llamada, se puede llamar a la función GetLastError de Win32 para determinar la causa del error.

Consulte también

CObject (clase)
Gráfico de jerarquías
CInternetConnection (clase)
CHttpConnection (clase)
CFtpConnection (clase)
CGopherConnection (clase)