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:
GetGopherConnection
para abrir una conexión a un servicio gopher.GetHttpConnection
para abrir una conexión a un servicio HTTP.GetFtpConnection
para abrir una conexión a un servicio FTP.
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, establezcadwAccessType
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 endwBufLen
no es suficiente para copiar todos los datos de la cookie. El valor devuelto endwBufLen
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 porOpenUrl
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 elementoCInternetConnection
deOpenURL
.
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)