Condividi tramite


Classe CGopherConnection

Gestisce la connessione a un server Internet gopher.

Nota

Le classi CGopherConnection, CGopherFile, CGopherFileFinde CGopherLocator i relativi membri sono stati deprecati perché non funzionano sulla piattaforma Windows XP, ma continueranno a funzionare su piattaforme precedenti.

Sintassi

class CGopherConnection : public CInternetConnection

Membri

Costruttori pubblici

Nome Descrizione
CGopherConnection::CGopherConnection Costruisce un oggetto CGopherConnection.

Metodi pubblici

Nome Descrizione
CGopherConnection::CreateLocator Crea un oggetto CGopherLocator per trovare i file in un server gopher.
CGopherConnection::GetAttribute Recupera le informazioni sull'attributo sull'oggetto gopher.
CGopherConnection::OpenFile Apre un file gopher.

Osservazioni:

Il servizio gopher è uno dei tre servizi Internet riconosciuti dalle classi WinInet MFC.

La classe CGopherConnection contiene un costruttore e tre funzioni membro aggiuntive che gestiscono il servizio gopher: OpenFile, CreateLocator e GetAttribute.

Per comunicare con un server Internet gopher, è prima necessario creare un'istanza di CInternetSession e quindi chiamare CInternetSession::GetGopherConnection, che crea l'oggetto CGopherConnection e restituisce un puntatore. Non si crea mai direttamente un CGopherConnection oggetto.

Per altre informazioni sul CGopherConnection funzionamento delle altre classi Internet MFC, vedere l'articolo Programmazione Internet con WinInet. Per altre informazioni sull'uso degli altri due servizi Internet supportati, FTP e HTTP, vedere le classi CHttpConnection e CFtpConnection.

Gerarchia di ereditarietà

CObject

CInternetConnection

CGopherConnection

Requisiti

Intestazione: afxinet.h

CGopherConnection::CGopherConnection

Questa funzione membro viene chiamata per costruire un CGopherConnection oggetto .

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);

Parametri

pSession
Puntatore all'oggetto CInternetSession correlato.

hConnected
Handle di Windows della sessione Internet corrente.

pstrServer
Puntatore a una stringa contenente il nome del server FTP.

dwContext
Identificatore di contesto per l'operazione . dwContext identifica le informazioni sullo stato dell'operazione restituite da CInternetSession::OnStatusCallback. Il valore predefinito è impostato su 1; Tuttavia, è possibile assegnare in modo esplicito un ID contesto specifico per l'operazione. L'oggetto e qualsiasi operazione eseguita verrà associato a tale ID contesto.

pstrUserName
Puntatore a una stringa con terminazione Null che specifica il nome dell'utente da accedere. Se NULL, il valore predefinito è anonimo.

pstrPassword
Puntatore a una stringa con terminazione Null che specifica la password da usare per l'accesso. Se pstrPassword e pstrUserName sono NULL, la password anonima predefinita è il nome di posta elettronica dell'utente. Se pstrPassword è NULL (o una stringa vuota) ma pstrUserName non è NULL, viene usata una password vuota. La tabella seguente descrive il comportamento per le quattro possibili impostazioni di pstrUserName e pstrPassword:

pstrUserName pstrPassword Nome utente inviato al server FTP Password inviata al server FTP
NULL o " " NULL o " " "anonimo" Nome di posta elettronica dell'utente
Stringa non NULL NULL o " " pstrUserName " "
Stringa NULL non NULL ERROR ERROR
Stringa non NULL Stringa non NULL pstrUserName pstrPassword

nPort
Numero che identifica la porta TCP/IP da usare nel server.

Osservazioni:

Non si crea mai direttamente un oggetto CGopherConnection . Chiama invece CInternetSession::GetGopherConnection, che crea un CGopherConnection oggetto e restituisce un puntatore.

CGopherConnection::CreateLocator

Chiamare questa funzione membro per creare un localizzatore gopher per trovare o identificare un file in un server 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);

Parametri

pstrDisplayString
Puntatore a una stringa contenente il nome del documento o della directory gopher da recuperare. Se il parametro pstrDisplayString è NULL, viene restituita la directory predefinita per il server gopher.

pstrSelectorString
Puntatore alla stringa del selettore da inviare al server gopher per recuperare un elemento. pstrSelectorString può essere NULL.

dwGopherType
Specifica se pstrSelectorString fa riferimento a una directory o a un documento e se la richiesta è gopher o gopher+. Vedere gli attributi per la struttura GOPHER_FIND_DATA in Windows SDK.

pstrLocator
Puntatore a una stringa che identifica il file da aprire. In genere, questa stringa viene restituita da una chiamata a CGopherFileFind::GetLocator.

pstrServerName
Puntatore a una stringa contenente il nome del server gopher.

nPort
Numero che identifica la porta Internet per questa connessione.

Valore restituito

Oggetto CGopherLocator .

Osservazioni:

La versione statica della funzione membro richiede di specificare un server, mentre la versione non statica utilizza il nome del server dall'oggetto connessione.

Per recuperare informazioni da un server gopher, un'applicazione deve prima ottenere un localizzatore gopher. L'applicazione deve quindi considerare il localizzatore come token opaco, ovvero l'applicazione può usare il localizzatore, ma non modificarlo o confrontarlo direttamente. In genere, l'applicazione usa il localizzatore per le chiamate alla funzione membro CGopherFileFind::FindFile per recuperare un'informazione specifica.

CGopherConnection::GetAttribute

Chiamare questa funzione membro per recuperare informazioni specifiche sull'attributo relative a un elemento dal server gopher.

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

Parametri

refLocator
Riferimento a un oggetto CGopherLocator .

strRequestedAttributes
Stringa delimitata da spazi che specifica i nomi degli attributi richiesti.

strResult
Riferimento a un oggetto CString che riceve il tipo di localizzatore.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario 0. Se la chiamata non riesce, è possibile chiamare la funzione Win32 GetLastError per determinare la causa dell'errore.

CGopherConnection::OpenFile

Chiamare questa funzione membro per aprire un file in un server gopher.

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

Parametri

refLocator
Riferimento a un oggetto CGopherLocator .

dwFlags
Qualsiasi combinazione di flag INTERNET_FLAG_*. Per altre informazioni sui flag INTERNET_FLAG_*, vedere CInternetSession::OpenUrl .

pstrView
Puntatore a una stringa di visualizzazione file. Se nel server esistono diverse visualizzazioni del file, questo parametro specifica la visualizzazione file da aprire. Se pstrView è NULL, viene usata la visualizzazione file predefinita.

dwContext
ID di contesto per il file da aprire. Per altre informazioni su dwContext, vedere Osservazioni.

Valore restituito

Puntatore all'oggetto CGopherFile da aprire.

Osservazioni:

Eseguire l'override dell'impostazione predefinita dwContext per impostare l'identificatore di contesto su un valore scelto. L'identificatore di contesto è associato a questa operazione specifica dell'oggetto CGopherConnection creato dal relativo oggetto CInternetSession . Il valore viene restituito a CInternetSession::OnStatusCallback per fornire lo stato sull'operazione con cui viene identificato. Per altre informazioni sull'identificatore di contesto, vedere l'articolo Passaggi preliminari su Internet: WinInet .

Vedi anche

Classe CInternetConnection
Grafico della gerarchia
Classe CFtpConnection
Classe CHttpConnection
Classe CInternetConnection
Classe CGopherLocator
Classe CGopherFile
Classe CInternetSession