Classe CInternetSession

Cria e inicializa uma só ou várias sessões simultâneas da Internet e, se necessário, descreve sua conexão com um servidor proxy.

Sintaxe

class CInternetSession : public CObject

Membros

Construtores públicos

Nome Descrição
CInternetSession::CInternetSession Constrói um objeto CInternetSession.

Métodos públicos

Nome Descrição
CInternetSession::Close Fecha a conexão com a Internet, quando a sessão da Internet é encerrada.
CInternetSession::EnableStatusCallback Estabelece uma rotina de retorno de chamada de status.
CInternetSession::GetContext Fecha a conexão com a Internet, quando a sessão da Internet é encerrada.
CInternetSession::GetCookie Retorna cookies para a URL especificada e todas as URLs pai.
CInternetSession::GetCookieLength Recupera a variável que especifica o tamanho do cookie armazenado no buffer.
CInternetSession::GetFtpConnection Abre uma sessão FTP com um servidor. Entra no usuário.
CInternetSession::GetGopherConnection Abre um servidor gopher de um aplicativo que está tentando abrir uma conexão.
CInternetSession::GetHttpConnection Abre um servidor HTTP de um aplicativo que está tentando abrir uma conexão.
CInternetSession::OnStatusCallback Atualiza o status de uma operação, quando o retorno de chamada de status está habilitado.
CInternetSession::OpenURL Analisa e abre uma URL.
CInternetSession::SetCookie Define um cookie para a URL especificada.
CInternetSession::SetOption Define opções para a sessão da Internet.

Operadores públicos

Nome Descrição
CInternetSession::operator HINTERNET Um identificador para a sessão atual da Internet.

Comentários

Se a conexão com a Internet precisar ser mantida pela duração de um aplicativo, você poderá criar um membro CInternetSession da classe CWinApp.

Depois de estabelecer uma sessão na Internet, você pode chamar OpenURL. CInternetSession analisa a URL para você, chamando a função global AfxParseURL. Independentemente do tipo de protocolo, CInternetSession interpreta e gerencia a URL para você. Ele pode lidar com as solicitações de arquivos locais identificados com o recurso de URL "file://". OpenURL retornará um ponteiro para um objeto CStdioFile, se o nome que você passar for um arquivo local.

Se você abrir uma URL em um servidor da Internet usando OpenURL, poderá ler as informações no site. Se você quiser executar ações específicas do serviço (por exemplo, HTTP, FTP ou gopher) em arquivos localizados em um servidor, deve estabelecer a conexão apropriada com esse servidor. Para abrir um tipo específico de conexão diretamente com determinado serviço, use uma das seguintes funções de membro:

SetOption permite que você defina as opções de consulta da sessão, como valores de tempo limite, número de repetições e assim por diante.

As funções de membro CInternetSessionSetCookie, GetCookie e GetCookieLength fornecem os meios para gerenciar um banco de dados de cookie do Win32, por meio do qual servidores e scripts mantêm informações de estado sobre a estação de trabalho do cliente.

Para obter mais informações sobre tarefas básicas de programação na Internet, confira o artigo Primeiras Etapas da Internet: WinInet. Para obter informações gerais sobre o uso das classes WinInet do MFC, confira o artigo Programação na Internet com WinInet.

Observação

CInternetSession gerará um AfxThrowNotSupportedException para tipos de serviço sem suporte. No momento, há suporte apenas para os seguintes tipos de serviço: FTP, HTTP, gopher e arquivo.

Hierarquia de herança

CObject
CInternetSession

Requisitos

Cabeçalhoafxinet.h:

CInternetSession::CInternetSession

Essa função membro é chamada quando um objeto CInternetSession é criado.

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
Um ponteiro para uma cadeia de caracteres que identifica o nome do aplicativo ou da entidade que chama as funções da Internet (por exemplo, "Microsoft Internet Browser"). Se pstrAgent for NULL (o padrão), a estrutura chamará a função global AfxGetAppName, que retorna uma cadeia de caracteres terminada em nulo que contém o nome de um aplicativo. Alguns protocolos usam essa cadeia de caracteres para identificar o aplicativo para o servidor.

dwContext
O identificador de contexto da operação. dwContext identifica as informações de status da operação retornadas por CInternetSession::OnStatusCallback. O padrão é definido como 1; no entanto, você pode atribuir explicitamente uma ID de contexto específica para a operação. O objeto e qualquer trabalho que ele fizer serão associados a essa ID de contexto.

dwAccessType
O tipo de acesso necessário. Os valores a seguir são válidos, exatamente um dos quais pode ser fornecido:

  • INTERNET_OPEN_TYPE_PRECONFIG Conecte-se usando configurações predefinidas no registro. Esse tipo de acesso é definido como o padrão. Para se conectar por meio de um proxy TIS, defina dwAccessType como esse valor. Em seguida, defina o registro adequadamente.

  • INTERNET_OPEN_TYPE_DIRECT Conecte-se diretamente à Internet.

  • INTERNET_OPEN_TYPE_PROXYConecte-se por meio de um proxy CERN.

Para obter informações sobre como se conectar com diferentes tipos de proxies, confira Etapas em um Aplicativo Cliente FTP Típico.

pstrProxyName
O nome do proxy CERN preferido, se dwAccessType for definido como INTERNET_OPEN_TYPE_PROXY. O padrão é NULL.

pstrProxyBypass
Um ponteiro para uma cadeia de caracteres que contém uma lista opcional de endereços de servidor. Esses endereços podem ser ignorados ao usar o acesso de proxy. Se um valor NULL for fornecido, a lista de bypass será lida no registro. Este parâmetro será significativo apenas se dwAccessType for definido como INTERNET_OPEN_TYPE_PROXY.

dwFlags
Indica várias opções de cache. O padrão é definido como 0. Os possíveis valores incluem:

  • INTERNET_FLAG_DONT_CACHE Não armazena os dados em cache, localmente ou em servidores de gateway.

  • INTERNET_FLAG_OFFLINE As operações de download são atendidas apenas por meio do cache persistente. Se o item não existir no cache, um código de erro apropriado será retornado. Esse sinalizador pode ser combinado com o operador bit a bit "ou" (|).

Comentários

CInternetSession é a primeira função da Internet chamada por um aplicativo. Inicializa as estruturas de dados internas e se prepara para chamadas futuras do aplicativo.

Se não for possível abrir uma conexão com a Internet, CInternetSession gerará um AfxThrowInternetException.

Exemplo

Confira o exemplo de CFtpFileFind.

CInternetSession::Close

Chame essa função de membro quando o aplicativo tiver terminado de usar o objeto CInternetSession.

virtual void Close();

Exemplo

Confira o exemplo de CFtpFileFind.

CInternetSession::EnableStatusCallback

Chame essa função de membro para habilitar o retorno de chamada de status.

BOOL EnableStatusCallback(BOOL bEnable = TRUE);

Parâmetros

bEnable
Especifica se o retorno de chamada está habilitado ou desabilitado. O padrão é TRUE.

Valor de retorno

Diferente de zero se tiver êxito; caso contrário, 0. Se a chamada falhar, determine a causa da falha examinando o objeto CInternetException gerado.

Comentários

Ao lidar com o retorno de chamada de status, você pode fornecer o status sobre o andamento da operação (como resolução de nome, conexão com o servidor e assim por diante) na barra de status do aplicativo. Exibir o status da operação é especialmente desejável durante uma operação de longo prazo.

Como os retornos de chamada ocorrem durante o processamento da solicitação, o aplicativo deve gastar o menor tempo possível no retorno de chamada, para evitar a degradação da taxa de transferência de dados para a rede. Por exemplo, colocar uma caixa de diálogo em um retorno de chamada pode ser uma operação tão longa que o servidor encerra a solicitação.

A chamada de retorno de status não pode ser removida enquanto houver chamadas de retorno pendentes.

Para lidar com operações de forma assíncrona, você deve criar seu próprio thread ou usar as funções WinInet sem MFC.

CInternetSession::GetContext

Chame essa função de membro para obter o valor de contexto de uma sessão de aplicativo específica.

DWORD_PTR GetContext() const;

Valor de retorno

O Identificador de contexto definido pelo aplicativo.

Comentários

OnStatusCallback usa a ID de contexto retornada por GetContext para relatar o status de um aplicativo específico. Por exemplo, quando um usuário ativa uma solicitação da Internet que envolve o retorno de informações de status, o retorno de chamada de status usa a ID de contexto para relatar o status nessa solicitação específica. Se o usuário ativar duas solicitações separadas da Internet que envolvem o retorno de informações de status, OnStatusCallback usa os identificadores de contexto para retornar o status sobre as solicitações correspondentes. Consequentemente, o identificador de contexto é usado para todas as operações de retorno de chamada de status e está associado à sessão até que a sessão seja encerrada.

Para obter mais informações sobre operações assíncronas, confira o artigo Primeiras Etapas da Internet: WinInet.

CInternetSession::GetCookie

Essa função membro implementa o comportamento da função do Win32 InternetGetCookie, conforme descrito no SDK do Windows.

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

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

Parâmetros

pstrUrl
Um ponteiro para uma cadeia de caracteres que contém a URL.

pstrCookieName
Um ponteiro para uma cadeia de caracteres que contém o nome do cookie a ser obtido para a URL especificada.

pstrCookieData
Na primeira sobrecarga, um ponteiro para uma cadeia de caracteres que contém o endereço do buffer que recebe os dados do cookie. Este valor pode ser NULL. Na segunda sobrecarga, uma referência a um objeto CString para receber os dados do cookie.

dwBufLen
A variável que especifica o tamanho do buffer pstrCookieData. Se a função for bem-sucedida, o buffer receberá o volume de dados copiados para o buffer pstrCookieData. Se pstrCookieData for NULL, esse parâmetro receberá um valor que especifica o tamanho do buffer necessário para copiar todos os dados de cookie.

Valor de retorno

Retorna TRUE, se bem-sucedido; caso contrário, FALSE. Se a chamada falhar, chame a função do Win32 GetLastError para determinar a causa do erro. Os seguintes valores de erro são aplicáveis:

  • ERROR_NO_MORE_ITEMS Não há cookies para a URL especificada e todos os pais.

  • ERROR_INSUFFICIENT_BUFFER O valor passado dwBufLen é insuficiente para copiar todos os dados de cookie. O valor retornado em dwBufLen é o tamanho do buffer necessário para obter todos os dados.

Comentários

Na segunda sobrecarga, o MFC recupera os dados de cookie no objeto CString fornecido.

CInternetSession::GetCookieLength

Chame essa função de membro para obter o tamanho do cookie armazenado no buffer.

static DWORD GetCookieLength(
    LPCTSTR pstrUrl,
    LPCTSTR pstrCookieName);

Parâmetros

pstrUrl
Um ponteiro para uma cadeia de caracteres que contém a URL

pstrCookieName
Um ponteiro para uma cadeia de caracteres contendo o nome do cookie.

Valor de retorno

Um valor DWORD que indica o tamanho do cookie, armazenado no buffer. Zero, se não existirem cookies com o nome indicado por pstrCookieName.

Comentários

Esse valor é usado por GetCookie.

CInternetSession::GetFtpConnection

Chame essa função de membro para estabelecer uma conexão FTP e obter um ponteiro para um 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
Um ponteiro para uma cadeia de caracteres contendo o nome do servidor FTP.

pstrUserName
Ponteiro para uma cadeia de caracteres terminada em nulo que especifica o nome do usuário para fazer logon. Se NULL, o padrão é anônimo.

pstrPassword
Um ponteiro para uma cadeia de caracteres terminada em nulo que especifica a senha a ser usada para fazer logon. Se pstrPassword e pstrUserName forem NULL, a senha anônima padrão será o nome de email do usuário. Se pstrPassword for NULL (ou uma cadeia de caracteres vazia), mas pstrUserName não for NULL, uma senha em branco será usada. A seguinte tabela descreve o comportamento das quatro configurações possíveis de pstrUserName e pstrPassword:

pstrUserName pstrPassword Nome de usuário enviado ao servidor FTP Senha enviada ao servidor FTP
NULL ou " " NULL ou " " "anonymous" Nome de email do usuário
Cadeia de caracteres não NULL NULL ou " " pstrUserName " "
NULL Cadeia de caracteres não NULL ERROR ERROR
Cadeia de caracteres não NULL Cadeia de caracteres não NULL pstrUserName pstrPassword

nPort
Um número que identifica a porta TCP/IP a ser usada no servidor.

bPassive
Especifica o modo passivo ou ativo para esta sessão FTP. Se definido como TRUE, ele a API do Win32 dwFlag como INTERNET_FLAG_PASSIVE.

Valor de retorno

Um ponteiro para um objeto CFtpConnection. Se a chamada falhar, determine a causa da falha examinando o objeto CInternetException gerado.

Comentários

GetFtpConnection conecta-se a um servidor FTP e cria e retorna um ponteiro para um objeto CFTPConnection. Não executa operações específicas no servidor. Se você pretende ler ou gravar em arquivos, por exemplo, deve executar essas operações como etapas separadas. Confira as classes CFtpConnection e CFtpFileFind para obter informações sobre como pesquisar arquivos, abrir arquivos e ler ou gravar em arquivos. Confira o artigo Programação da Internet com o WinInet, para obter as etapas ao executar tarefas comuns de conexão FTP.

Exemplo

Confira o exemplo de CFtpFileFind.

CInternetSession::GetGopherConnection

Chame essa função de membro para estabelecer uma nova conexão gopher e obter um ponteiro para um objeto CGopherConnection.

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

Parâmetros

pstrServer
Um ponteiro para uma cadeia de caracteres contendo o nome do servidor gopher.

pstrUserName
Um ponteiro para uma cadeia de caracteres que contém o nome do usuário.

pstrPassword
Um ponteiro para uma cadeia de caracteres que contém a senha.

nPort
Um número que identifica a porta TCP/IP a ser usada no servidor.

Valor de retorno

Um ponteiro para um objeto CGopherConnection. Se a chamada falhar, determine a causa da falha examinando o objeto CInternetException gerado.

Comentários

GetGopherConnection conecta-se a um servidor gopher e cria e retorna um ponteiro para um objeto CGopherConnection. Não executa operações específicas no servidor. Se você pretende ler ou gravar dados, por exemplo, deve executar essas operações como etapas separadas. Confira as classes CGopherConnection, CGopherFile e CGopherFileFind para obter informações sobre como pesquisar arquivos, abrir arquivos e ler ou gravar em arquivos. Para obter informações sobre como navegar em um site FTP, confira a função de membro OpenURL. Confira o artigo Programação da Internet com o WinInet, para obter as etapas ao executar tarefas comuns de conexão gopher.

CInternetSession::GetHttpConnection

Chame essa função de membro para estabelecer uma conexão HTTP e obter um ponteiro para um 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
Um ponteiro para uma cadeia de caracteres contendo o nome do servidor HTTP.

nPort
Um número que identifica a porta TCP/IP a ser usada no servidor.

pstrUserName
Um ponteiro para uma cadeia de caracteres que contém o nome do usuário.

pstrPassword
Um ponteiro para uma cadeia de caracteres que contém a senha.

dwflags
Qualquer combinação dos sinalizadores INTERNET_FLAG_*. Confira a tabela na seção Comentários de CHttpConnection::OpenRequest para obter uma descrição dos valores dwFlags.

Valor de retorno

Um ponteiro para um objeto CHttpConnection. Se a chamada falhar, determine a causa da falha examinando o objeto CInternetException gerado.

Comentários

GetHttpConnection conecta-se a um servidor HTTP e cria e retorna um ponteiro para um objeto CHttpConnection. Não executa operações específicas no servidor. Se você pretende consultar um cabeçalho HTTP, por exemplo, deve executar essa operação como uma etapa separada. Confira as classes CHttpConnection e CHttpFile para obter informações sobre operações que você pode executar usando uma conexão com um servidor HTTP. Para obter informações sobre como navegar em um site HTTP, confira a função de membro OpenURL. Confira o artigo Programação da Internet com o WinInet, para obter as etapas ao executar tarefas comuns de conexão HTTP.

CInternetSession::OnStatusCallback

Essa função de membro é chamada pela estrutura para atualizar o status, quando o retorno de chamada de status está habilitado e uma operação está pendente.

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

Parâmetros

dwContext
O valor de contexto fornecido pelo aplicativo.

dwInternetStatus
Um código de status que indica o motivo pelo qual o retorno de chamada está sendo feito. Confira Comentários para obter uma tabela de possíveis valores.

lpvStatusInformation
Um ponteiro para um buffer que contém informações pertinentes a esse retorno de chamada.

dwStatusInformationLength
O tamanho do lpvStatusInformation.

Comentários

Você deve primeiro chamar EnableStatusCallback para aproveitar o retorno de chamada de status.

O parâmetro dwInternetStatus indica a operação que está sendo executada e determina qual será o conteúdo do lpvStatusInformation. dwStatusInformationLength indica o tamanho dos dados incluídos em lpvStatusInformation. Os seguintes valores de status são para dwInternetStatus são definidos conforme segue:

Valor Significado
INTERNET_STATUS_RESOLVING_NAME Pesquisando o endereço IP do nome contido em lpvStatusInformation.
INTERNET_STATUS_NAME_RESOLVED Encontrou com êxito o endereço IP do nome contido em lpvStatusInformation.
INTERNET_STATUS_CONNECTING_TO_SERVER Conectando-se ao endereço do soquete (SOCKADDR) apontado por lpvStatusInformation.
INTERNET_STATUS_CONNECTED_TO_SERVER Conectado com êxito ao endereço do soquete (SOCKADDR) apontado por lpvStatusInformation.
INTERNET_STATUS_SENDING_REQUEST Enviando a solicitação de informações para o servidor. O parâmetro lpvStatusInformation é NULL.
INTERNET_STATUS_REQUEST_SENT Enviou com êxito a solicitação de informações para o servidor. O parâmetro lpvStatusInformation é NULL.
INTERNET_STATUS_RECEIVING_RESPONSE Aguardando o servidor responder a uma solicitação. O parâmetro lpvStatusInformation é NULL.
INTERNET_STATUS_RESPONSE_RECEIVED Recebeu com êxito uma resposta do servidor. O parâmetro lpvStatusInformation é NULL.
INTERNET_STATUS_CLOSING_CONNECTION Encerrando a conexão com o servidor. O parâmetro lpvStatusInformation é NULL.
INTERNET_STATUS_CONNECTION_CLOSED Fechou com êxito a conexão com o servidor. O parâmetro lpvStatusInformation é NULL.
INTERNET_STATUS_HANDLE_CREATED Usado pela função de API do Win32 InternetConnect para indicar que criou o novo identificador. Isso permite que o aplicativo chame a função do Win32 InternetCloseHandle de outro thread, se a conexão estiver demorando muito. Confira o SDK do Windows para obter mais informações sobre essas funções.
INTERNET_STATUS_HANDLE_CLOSING Terminou com êxito esse valor de identificador.

Substitua essa função de membro para exigir um pouco de ação, antes que uma rotina de retorno de chamada de status seja executada.

Observação

Os retornos de chamada de status precisam de proteção de estado de thread. Se você estiver usando o MFC em uma biblioteca compartilhada, adicione a seguinte linha ao início da substituição:

AFX_MANAGE_STATE(AfxGetAppModuleState());

Para obter mais informações sobre operações assíncronas, confira o artigo Primeiras Etapas da Internet: WinInet.

CInternetSession::OpenURL

Chame essa função de membro para enviar a solicitação especificada para o servidor HTTP e permitir que o cliente especifique outros cabeçalhos RFC822, MIME ou HTTP para enviar juntamente com a solicitação.

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

Parâmetros

pstrURL
Um ponteiro para o nome da URL para começar a ler. Não suporte somente para URLs que começam com file:, ftp:, gopher: ou http:. Declara se pstrURL é NULL.

dwContext
Um valor definido pelo aplicativo passado com o identificador devolvido no retorno de chamada.

dwFlags
Os sinalizadores que descrevem como lidar com essa conexão. Confira Comentários para obter mais informações sobre os sinalizadores válidos. Os sinalizadores válidos são:

  • INTERNET_FLAG_TRANSFER_ASCII O padrão. Transfira o arquivo como texto ASCII.

  • INTERNET_FLAG_TRANSFER_BINARY Transfira o arquivo como arquivo binário.

  • INTERNET_FLAG_RELOAD Obtém os dados de transmissão, mesmo se estiverem armazenados em cache localmente.

  • INTERNET_FLAG_DONT_CACHE Não armazena os dados em cache, localmente ou em qualquer gateway.

  • INTERNET_FLAG_SECURE Esse sinalizador é aplicável somente a solicitações HTTP. Ele solicita transações seguras na transmissão com o Protocolo SSL ou PCT.

  • INTERNET_OPEN_FLAG_USE_EXISTING_CONNECT Se possível, reutilize as conexões existentes com o servidor para novas solicitações geradas por OpenUrl, em vez de criar uma nova sessão para cada solicitação de conexão.

  • INTERNET_FLAG_PASSIVE Usado para um site FTP. Usa semântica FTP passiva. Usado com CInternetConnection de OpenURL.

pstrHeaders
Um ponteiro para uma cadeia de caracteres que contém os cabeçalhos a serem enviados para o servidor HTTP.

dwHeadersLength
O tamanho dos cabeçalhos adicionais, em caracteres. Se isso for -1L e pstrHeaders não for NULL, pstrHeaders será considerado zero terminado e o tamanho será calculado.

Valor de retorno

Retorna apenas um identificador de arquivo para serviços de Internet do tipo FTP, GOPHER, HTTP e FILE. Retornará NULL, se a análise não tiver sido realizada com êxito.

O ponteiro que OpenURL retorna depende do tipo de serviço de pstrURL. A tabela abaixo ilustra os possíveis ponteiros que OpenURL pode retornar.

Tipo de URL Retornos
file:// CStdioFile*
http:// CHttpFile*
gopher:// CGopherFile*
ftp:// CInternetFile*

Comentários

O parâmetro dwFlags deve incluir INTERNET_FLAG_TRANSFER_ASCII ou INTERNET_FLAG_TRANSFER_BINARY, mas não ambos. Os sinalizadores restantes podem ser combinados com o operador bit a bit "ou" (|).

OpenURL, que encapsula a função do Win32 InternetOpenURL, permite apenas baixar, recuperar e ler os dados de um servidor da Internet. OpenURL não permite manipulação de arquivo em um local remoto. Portanto, não requer objetos CInternetConnection.

Para usar funções específicas da conexão (ou seja, específicas do protocolo), como gravar em um arquivo, você deve abrir uma sessão, abrir um tipo específico da conexão e usar essa conexão para abrir um arquivo no modo desejado. Confira CInternetConnection, para obter mais informações sobre funções específicas da conexão.

CInternetSession::operator HINTERNET

Use este operador para obter o identificador do Windows para a sessão da Internet atual.

operator HINTERNET() const;

CInternetSession::SetCookie

Define um cookie para a URL especificada.

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

Parâmetros

pstrUrl
Um ponteiro para uma cadeia de caracteres terminada em nulo, que especifica a URL para a qual o cookie deve ser definido.

pstrCookieName
Um ponteiro para uma cadeia de caracteres contendo o nome do cookie.

pstrCookieData
Um ponteiro para uma cadeia de caracteres que contém os dados de cadeia de caracteres reais a serem associados à URL.

Valor de retorno

Retorna TRUE, se bem-sucedido; caso contrário, FALSE. Para obter o código de erro específico, chame GetLastError.

Comentários

Essa função membro implementa o comportamento da mensagem InternetSetCookie do Win32, conforme descrito no SDK do Windows.

CInternetSession::SetOption

Chame essa função de membro para definir as opções da sessão da Internet.

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

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

Parâmetros

dwOption
A opção internet a ser definida. Confira Sinalizadores de Opção no SDK do Windows, para obter uma lista das opções possíveis.

lpBuffer
Um buffer que contém a configuração de opção.

dwBufferLength
O comprimento do lpBuffer ou o tamanho do dwValue.

dwValue
Um DWORD que contém a configuração de opção.

dwFlags
Indica várias opções de cache. O padrão é definido como 0. Os possíveis valores incluem:

  • INTERNET_FLAG_DONT_CACHE Não armazena os dados em cache, localmente ou em servidores de gateway.

  • INTERNET_FLAG_OFFLINE As operações de download são atendidas apenas por meio do cache persistente. Se o item não existir no cache, um código de erro apropriado será retornado. Esse sinalizador pode ser combinado com o operador bit a bit "ou" (|).

Valor de retorno

Se a operação tiver sido bem-sucedida, um valor de TRUE será retornado. Se ocorrer um erro, um valor de FALSE será retornado. Se a chamada falhar, a função do Win32 GetLastErrorpoderá ser chamada para determinar a causa do erro.

Confira também

Classe CObject
Gráfico da hierarquia
Classe CInternetConnection
Classe CHttpConnection
Classe CFtpConnection
Classe CGopherConnection