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:
GetGopherConnection
para abrir uma conexão com um serviço gopher.GetHttpConnection
para abrir uma conexão com um serviço HTTP.GetFtpConnection
para abrir uma conexão com um serviço FTP.
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 CInternetSession
SetCookie
, 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çalho: afxinet.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, definadwAccessType
como esse valor. Em seguida, defina o registro adequadamente.INTERNET_OPEN_TYPE_DIRECT
Conecte-se diretamente à Internet.INTERNET_OPEN_TYPE_PROXY
Conecte-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 passadodwBufLen
é insuficiente para copiar todos os dados de cookie. O valor retornado emdwBufLen
é 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 porOpenUrl
, 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 comCInternetConnection
deOpenURL
.
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 GetLastError
poderá 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