Classe CGopherConnection

Gerencia sua conexão com um servidor de Internet gopher.

Observação

As classes CGopherConnection, CGopherFile, CGopherFileFind, CGopherLocator e seus membros foram preteridos porque não funcionam na plataforma Windows XP, mas continuarão a funcionar em plataformas anteriores.

Sintaxe

class CGopherConnection : public CInternetConnection

Membros

Construtores públicos

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

Métodos públicos

Nome Descrição
CGopherConnection::CreateLocator Cria um objeto CGopherLocator para localizar arquivos em um servidor gopher.
CGopherConnection::GetAttribute Recupera informações de atributo sobre o objeto gopher.
CGopherConnection::OpenFile Abre um arquivo gopher.

Comentários

O serviço gopher é um dos três serviços de Internet reconhecidos pelas classes WinInet do MFC.

A classe CGopherConnection contém um construtor e três funções membro adicionais que gerenciam o serviço gopher: OpenFile, CreateLocator e GetAttribute.

Para se comunicar com um servidor de Internet gopher, primeiro você deve criar uma instância de CInternetSession e, em seguida, chamar CInternetSession::GetGopherConnection, que cria o objeto CGopherConnection e retorna um ponteiro para ele. Você nunca cria um objeto CGopherConnection diretamente.

Para saber mais sobre como CGopherConnection funciona com as outras classes de Internet do MFC, confira o artigo Programação na Internet com o WinInet. Para obter mais informações sobre como usar os outros dois serviços de Internet com suporte, FTP e HTTP, consulte as classes CHttpConnection e CFtpConnection.

Hierarquia de herança

CObject

CInternetConnection

CGopherConnection

Requisitos

Cabeçalho: afxinet.h

CGopherConnection::CGopherConnection

Essa função membro é chamada para construir um objeto CGopherConnection.

CGopherConnection(
    CInternetSession* pSession,
    HINTERNET hConnected,
    LPCTSTR pstrServer,
    DWORD_PTR dwContext);

CGopherConnection(
    CInternetSession* pSession,
    LPCTSTR pstrServer,
    LPCTSTR pstrUserName = NULL,
    LPCTSTR pstrPassword = NULL,
    DWORD_PTR dwContext = 0,
    INTERNET_PORT nPort = INTERNET_INVALID_PORT_NUMBER);

Parâmetros

pSession
Descarte o objeto CInternetSession.

hConnected
O identificador do Windows da sessão de Internet atual.

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

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.

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 será 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 para as 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 " "
Cadeia de caracteres NULL 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.

Comentários

Nunca crie um CGopherConnection diretamente. Em vez disso, chame CInternetSession::GetGopherConnection, que cria um objeto CGopherConnection e retorna um ponteiro para ele.

CGopherConnection::CreateLocator

Chame essa função membro para criar um localizador gopher para localizar ou identificar um arquivo em um servidor gopher.

CGopherLocator CreateLocator(
    LPCTSTR pstrDisplayString,
    LPCTSTR pstrSelectorString,
    DWORD dwGopherType);

static CGopherLocator CreateLocator(LPCTSTR pstrLocator);

static CGopherLocator CreateLocator(
    LPCTSTR pstrServerName,
    LPCTSTR pstrDisplayString,
    LPCTSTR pstrSelectorString,
    DWORD dwGopherType,
    INTERNET_PORT nPort = INTERNET_INVALID_PORT_NUMBER);

Parâmetros

pstrDisplayString
Um ponteiro para uma cadeia de caracteres que contém o nome do documento ou diretório gopher a ser recuperado. Se o parâmetro pstrDisplayString for NULL, o diretório padrão do servidor gopher será retornado.

pstrSelectorString
Um ponteiro para a cadeia de caracteres do seletor a ser enviada ao servidor gopher para recuperar um item. pstrSelectorString pode ser NULL.

dwGopherType
Isso especifica se pstrSelectorString se refere a um diretório ou documento e se a solicitação é gopher ou gopher+. Consulte os atributos para a estrutura GOPHER_FIND_DATA no SDK do Windows.

pstrLocator
Um ponteiro para uma cadeia de caracteres que identifica o arquivo a ser aberto. Geralmente, essa cadeia de caracteres é retornada de uma chamada a CGopherFileFind::GetLocator.

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

nPort
O número que identifica a porta da Internet para essa conexão.

Valor de retorno

Um objeto CGopherLocator.

Comentários

A versão estática da função membro exige que você especifique um servidor, enquanto a versão não estática usa o nome do servidor do objeto de conexão.

Para recuperar informações de um servidor gopher, um aplicativo deve primeiro obter um localizador de gopher. Em seguida, o aplicativo deve tratar o localizador como um token opaco (ou seja, o aplicativo pode usar o localizador, mas não manipulá-lo ou compará-lo diretamente). Normalmente, o aplicativo usa o localizador para chamadas à função membro CGopherFileFind::FindFile a fim de recuperar uma informação específica.

CGopherConnection::GetAttribute

Chame essa função membro para recuperar informações de atributo específicas sobre um item do servidor gopher.

BOOL GetAttribute(
    CGopherLocator& refLocator    CString strRequestedAttributes,
    CString& strResult,);

Parâmetros

refLocator
Uma referência a um objeto CGopherLocator.

strRequestedAttributes
Uma cadeia de caracteres delimitada por espaço que especifica os nomes dos atributos solicitados.

strResult
Uma referência a um CString que recebe o tipo de localizador.

Valor de retorno

Diferente de zero se tiver êxito; caso contrário, 0. Se a chamada falhar, a função Win32 GetLastError poderá ser chamada para determinar a causa do erro.

CGopherConnection::OpenFile

Chame essa função membro para abrir um arquivo em um servidor gopher.

CGopherFile* OpenFile(
    CGopherLocator& refLocator,
    DWORD dwFlags = 0,
    LPCTSTR pstrView = NULL,
    DWORD_PTR dwContext = 1);

Parâmetros

refLocator
Uma referência a um objeto CGopherLocator.

dwFlags
Qualquer combinação de sinalizadores INTERNET_FLAG_*. Consulte CInternetSession::OpenUrl para obter mais informações sobre sinalizadores INTERNET_FLAG_*.

pstrView
Um ponteiro para uma cadeia de caracteres de exibição de arquivo. Se existirem várias exibições do arquivo no servidor, esse parâmetro especifica qual a exibição de arquivo a ser aberta. Se pstrView for NULL, a exibição de arquivo padrão será usada.

dwContext
A ID de contexto do arquivo que está sendo aberto. Confira Comentários para obter mais informações sobre dwContext.

Valor de retorno

Um ponteiro para o objeto CGopherFile a ser aberto.

Comentários

Substitua o padrão dwContext para definir um valor de sua escolha para o identificador de contexto. O identificador de contexto está associado a essa operação específica do objeto CGopherConnection criado por seu objeto CInternetSession. O valor é retornado para CInternetSession::OnStatusCallback para fornecer status na operação com a qual ele é identificado. Confira o artigo Primeiras etapas da Internet: WinInet para mais informações sobre o identificador de contexto.

Confira também

Classe CInternetConnection
Gráfico da hierarquia
Classe CFtpConnection
Classe CHttpConnection
Classe CInternetConnection
Classe CGopherLocator
Classe CGopherFile
Classe CInternetSession