Condividi tramite


Classe CInternetSession

Crea e inizializza una singola sessione o più sessioni Internet simultanee e descrive la connessione a un server proxy, se necessario.

Sintassi

class CInternetSession : public CObject

Membri

Costruttori pubblici

Nome Descrizione
CInternetSession::CInternetSession Costruisce un oggetto CInternetSession.

Metodi pubblici

Nome Descrizione
CInternetSession::Close Chiude la connessione Internet al termine della sessione Internet.
CInternetSession::EnableStatusCallback Stabilisce una routine di callback di stato.
CInternetSession::GetContext Chiude la connessione Internet al termine della sessione Internet.
CInternetSession::GetCookie Restituisce i cookie per l'URL specificato e tutti gli URL padre.
CInternetSession::GetCookieLength Recupera la variabile che specifica la lunghezza del cookie archiviato nel buffer.
CInternetSession::GetFtpConnection Apre una sessione FTP con un server. Accede all'utente.
CInternetSession::GetGopherConnection Apre un server gopher per un'applicazione che sta tentando di aprire una connessione.
CInternetSession::GetHttpConnection Apre un server HTTP per un'applicazione che tenta di aprire una connessione.
CInternetSession::OnStatusCallback Aggiorna lo stato di un'operazione quando il callback dello stato è abilitato.
CInternetSession::OpenURL Analizza e apre un URL.
CInternetSession::SetCookie Imposta un cookie per l'URL specificato.
CInternetSession::SetOption Imposta le opzioni per la sessione Internet.

Operatori pubblici

Nome Descrizione
CInternetSession::operator HINTERNET Handle per la sessione Internet corrente.

Osservazioni:

Se la connessione Internet deve essere mantenuta per la durata di un'applicazione, è possibile creare un CInternetSession membro della classe CWinApp.

Dopo aver stabilito una sessione Internet, è possibile chiamare OpenURL. CInternetSession quindi analizza l'URL chiamando la funzione AfxParseURLglobale . Indipendentemente dal tipo di protocollo, CInternetSession interpreta l'URL e lo gestisce automaticamente. Può gestire le richieste per i file locali identificati con la risorsa URL "file://". OpenURL restituisce un puntatore a un CStdioFile oggetto se il nome passato è un file locale.

Se si apre un URL in un server Internet usando OpenURL, è possibile leggere le informazioni dal sito. Se si desidera eseguire azioni specifiche del servizio ,ad esempio HTTP, FTP o gopher, sui file che si trovano in un server, è necessario stabilire la connessione appropriata con tale server. Per aprire un particolare tipo di connessione direttamente a un determinato servizio, usare una delle funzioni membro seguenti:

SetOption consente di impostare le opzioni di query della sessione, ad esempio valori di timeout, numero di tentativi e così via.

CInternetSession le funzioni SetCookiemembro , GetCookiee GetCookieLength forniscono i mezzi per gestire un database di cookie Win32, tramite cui i server e gli script mantengono le informazioni sullo stato sulla workstation client.

Per altre informazioni sulle attività di programmazione Internet di base, vedere l'articolo Internet First Steps: WinInet. Per informazioni generali sull'uso delle classi MFC WinInet , vedere l'articolo Programmazione Internet con WinInet.

Nota

CInternetSession genererà un oggetto AfxThrowNotSupportedException per i tipi di servizio non supportati. Attualmente sono supportati solo i tipi di servizio seguenti: FTP, HTTP, gopher e file.

Gerarchia di ereditarietà

CObject
CInternetSession

Requisiti

Intestazione: afxinet.h

CInternetSession::CInternetSession

Questa funzione membro viene chiamata quando viene creato un CInternetSession oggetto .

CInternetSession(
    LPCTSTR pstrAgent = NULL,
    DWORD_PTR dwContext = 1,
    DWORD dwAccessType = PRE_CONFIG_INTERNET_ACCESS,
    LPCTSTR pstrProxyName = NULL,
    LPCTSTR pstrProxyBypass = NULL,
    DWORD dwFlags = 0);

Parametri

pstrAgent
Puntatore a una stringa che identifica il nome dell'applicazione o dell'entità che chiama le funzioni Internet, ad esempio "Microsoft Internet Browser". Se pstrAgent è NULL (impostazione predefinita), il framework chiama la funzione AfxGetAppNameglobale , che restituisce una stringa con terminazione Null contenente il nome di un'applicazione. Alcuni protocolli usano questa stringa per identificare l'applicazione nel server.

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.

dwAccessType
Tipo di accesso necessario. Di seguito sono riportati valori validi, esattamente uno dei quali può essere fornito:

  • INTERNET_OPEN_TYPE_PRECONFIG Connettersi usando le impostazioni preconfigurate nel Registro di sistema. Questo tipo di accesso è impostato come predefinito. Per connettersi tramite un proxy TIS, impostare dwAccessType su questo valore, quindi impostare il Registro di sistema in modo appropriato.

  • INTERNET_OPEN_TYPE_DIRECT Connettersi direttamente a Internet.

  • INTERNET_OPEN_TYPE_PROXY Connettersi tramite un proxy CERN.

Per informazioni sulla connessione con diversi tipi di proxy, vedere Passaggi in un'applicazione client FTP tipica.

pstrProxyName
Nome del proxy CERN preferito se dwAccessType è impostato su INTERNET_OPEN_TYPE_PROXY. Il valore predefinito è NULL.

pstrProxyBypass
Puntatore a una stringa contenente un elenco facoltativo di indirizzi del server. Questi indirizzi possono essere ignorati quando si usa l'accesso proxy. Se viene specificato un NULL valore, l'elenco di bypass verrà letto dal Registro di sistema. Questo parametro è significativo solo se dwAccessType è impostato su INTERNET_OPEN_TYPE_PROXY.

dwFlags
Indica varie opzioni di memorizzazione nella cache. Il valore predefinito è impostato su 0. I valori possibili includono:

  • INTERNET_FLAG_DONT_CACHE Non memorizzare nella cache i dati, in locale o in alcun server gateway.

  • INTERNET_FLAG_OFFLINE Le operazioni di download vengono soddisfatte solo tramite la cache persistente. Se l'elemento non esiste nella cache, viene restituito un codice di errore appropriato. Questo flag può essere combinato con l'operatore bit per bit "or" (|).

Osservazioni:

CInternetSession è la prima funzione Internet chiamata da un'applicazione. Inizializza le strutture di dati interne e prepara le chiamate future dall'applicazione.

Se non è possibile aprire alcuna connessione Internet, CInternetSession genera un'eccezione AfxThrowInternetException.

Esempio

Vedere l'esempio per CFtpFileFind.

CInternetSession::Close

Chiamare questa funzione membro al termine dell'applicazione usando l'oggetto CInternetSession .

virtual void Close();

Esempio

Vedere l'esempio per CFtpFileFind.

CInternetSession::EnableStatusCallback

Chiamare questa funzione membro per abilitare il callback dello stato.

BOOL EnableStatusCallback(BOOL bEnable = TRUE);

Parametri

bEnable
Specifica se il callback è abilitato o disabilitato. Il valore predefinito è TRUE.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario 0. Se la chiamata non riesce, determinare la causa dell'errore esaminando l'oggetto generato CInternetException .

Osservazioni:

Quando si gestisce il callback dello stato, è possibile specificare lo stato di avanzamento dell'operazione( ad esempio risoluzione del nome, connessione al server e così via) nella barra di stato dell'applicazione. La visualizzazione dello stato dell'operazione è particolarmente utile durante un'operazione a lungo termine.

Poiché i callback si verificano durante l'elaborazione della richiesta, l'applicazione deve dedicare il minor tempo possibile nel callback per evitare una riduzione della velocità effettiva dei dati nella rete. Ad esempio, l'inserimento di una finestra di dialogo in un callback può essere un'operazione così lunga che il server termina la richiesta.

Il callback di stato non può essere rimosso purché i callback siano in sospeso.

Per gestire le operazioni in modo asincrono, è necessario creare un thread personalizzato o usare le funzioni WinInet senza MFC.

CInternetSession::GetContext

Chiamare questa funzione membro per ottenere il valore di contesto per una determinata sessione dell'applicazione.

DWORD_PTR GetContext() const;

Valore restituito

Identificatore di contesto definito dall'applicazione.

Osservazioni:

OnStatusCallback usa l'ID di contesto restituito da GetContext per segnalare lo stato di una determinata applicazione. Ad esempio, quando un utente attiva una richiesta Internet che implica la restituzione di informazioni sullo stato, il callback dello stato usa l'ID contesto per segnalare lo stato su tale richiesta specifica. Se l'utente attiva due richieste Internet separate che comportano la restituzione di informazioni sullo stato, OnStatusCallback usa gli identificatori di contesto per restituire lo stato delle richieste corrispondenti. Di conseguenza, l'identificatore di contesto viene usato per tutte le operazioni di callback dello stato ed è associato alla sessione fino alla fine della sessione.

Per altre informazioni sulle operazioni asincrone, vedere l'articolo Passaggi preliminari su Internet: WinInet.

CInternetSession::GetCookie

Questa funzione membro implementa il comportamento della funzione InternetGetCookieWin32 , come descritto in Windows SDK.

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

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

Parametri

pstrUrl
Puntatore a una stringa contenente l'URL.

pstrCookieName
Puntatore a una stringa contenente il nome del cookie da ottenere per l'URL specificato.

pstrCookieData
Nel primo overload, un puntatore a una stringa contenente l'indirizzo del buffer che riceve i dati del cookie. Il valore può essere NULL. Nel secondo overload, un riferimento a un CString oggetto per ricevere i dati del cookie.

dwBufLen
Variabile che specifica le dimensioni del pstrCookieData buffer. Se la funzione ha esito positivo, il buffer riceve la quantità di dati copiati nel pstrCookieData buffer. Se pstrCookieData è NULL, questo parametro riceve un valore che specifica le dimensioni del buffer necessario per copiare tutti i dati del cookie.

Valore restituito

Restituisce TRUE se ha esito positivo o FALSE in caso contrario. Se la chiamata non riesce, chiamare la funzione GetLastError Win32 per determinare la causa dell'errore. Si applicano i valori di errore seguenti:

  • ERROR_NO_MORE_ITEMS Non esiste alcun cookie per l'URL specificato e tutti i relativi elementi padre.

  • ERROR_INSUFFICIENT_BUFFER Il valore passato dwBufLen non è sufficiente per copiare tutti i dati del cookie. Il valore restituito in dwBufLen è la dimensione del buffer necessaria per ottenere tutti i dati.

Osservazioni:

Nel secondo overload MFC recupera i dati del cookie nell'oggetto fornito CString .

CInternetSession::GetCookieLength

Chiamare questa funzione membro per ottenere la lunghezza del cookie archiviato nel buffer.

static DWORD GetCookieLength(
    LPCTSTR pstrUrl,
    LPCTSTR pstrCookieName);

Parametri

pstrUrl
Puntatore a una stringa contenente l'URL

pstrCookieName
Puntatore a una stringa contenente il nome del cookie.

Valore restituito

Valore DWORD che indica la lunghezza del cookie archiviato nel buffer. Zero se non esiste alcun cookie con il nome indicato da pstrCookieName .

Osservazioni:

Questo valore viene usato da GetCookie.

CInternetSession::GetFtpConnection

Chiamare questa funzione membro per stabilire una connessione FTP e ottenere un puntatore a un CFtpConnection oggetto .

CFtpConnection* GetFtpConnection(
    LPCTSTR pstrServer,
    LPCTSTR pstrUserName = NULL,
    LPCTSTR pstrPassword = NULL,
    INTERNET_PORT nPort = INTERNET_INVALID_PORT_NUMBER,
    BOOL bPassive = FALSE);

Parametri

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

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 e pstrPassword 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 oppure " " NULL oppure " " "anonymous" Nome di posta elettronica dell'utente
NULL Nessuna stringa NULL oppure " " pstrUserName " "
NULL NULL Nessuna stringa ERROR ERROR
NULL Nessuna stringa NULL Nessuna stringa pstrUserName pstrPassword

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

bPassive
Specifica la modalità passiva o attiva per questa sessione FTP. Se impostato su TRUE, imposta l'API dwFlag Win32 su INTERNET_FLAG_PASSIVE.

Valore restituito

Puntatore a un oggetto CFtpConnection. Se la chiamata non riesce, determinare la causa dell'errore esaminando l'oggetto generato CInternetException .

Osservazioni:

GetFtpConnection si connette a un server FTP e crea e restituisce un puntatore a un CFTPConnection oggetto . Non esegue alcuna operazione specifica sul server. Se si intende leggere o scrivere in file, ad esempio, è necessario eseguire tali operazioni come passaggi separati. Vedere le classi CFtpConnection e CFtpFileFind per informazioni sulla ricerca di file, l'apertura di file e la lettura o la scrittura nei file. Vedere l'articolo Programmazione Internet con WinInet per la procedura per eseguire attività comuni di connessione FTP.

Esempio

Vedere l'esempio per CFtpFileFind.

CInternetSession::GetGopherConnection

Chiamare questa funzione membro per stabilire una nuova connessione gopher e ottenere un puntatore a un CGopherConnection oggetto .

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

Parametri

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

pstrUserName
Puntatore a una stringa contenente il nome utente.

pstrPassword
Puntatore a una stringa contenente la password di accesso.

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

Valore restituito

Puntatore a un oggetto CGopherConnection. Se la chiamata non riesce, determinare la causa dell'errore esaminando l'oggetto generato CInternetException .

Osservazioni:

GetGopherConnection si connette a un server gopher e crea e restituisce un puntatore a un CGopherConnection oggetto . Non esegue alcuna operazione specifica sul server. Se si intende leggere o scrivere dati, ad esempio, è necessario eseguire tali operazioni come passaggi separati. Vedere le classi CGopherConnection, CGopherFilee CGopherFileFind per informazioni sulla ricerca di file, l'apertura di file e la lettura o la scrittura nei file. Per informazioni sull'esplorazione di un sito FTP, vedere la funzione OpenURLmembro . Vedere l'articolo Programmazione Internet con WinInet per informazioni su come eseguire attività comuni di connessione gopher.

CInternetSession::GetHttpConnection

Chiamare questa funzione membro per stabilire una connessione HTTP e ottenere un puntatore a un CHttpConnection oggetto .

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

Parametri

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

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

pstrUserName
Puntatore a una stringa contenente il nome utente.

pstrPassword
Puntatore a una stringa contenente la password di accesso.

dwflags
Qualsiasi combinazione dei INTERNET_FLAG_* flag. Per una descrizione dei valori, vedere la tabella nella sezione Osservazioni di dwFlags CHttpConnection::OpenRequest .

Valore restituito

Puntatore a un oggetto CHttpConnection. Se la chiamata non riesce, determinare la causa dell'errore esaminando l'oggetto generato CInternetException .

Osservazioni:

GetHttpConnection si connette a un server HTTP e crea e restituisce un puntatore a un CHttpConnection oggetto . Non esegue alcuna operazione specifica sul server. Se si intende eseguire una query su un'intestazione HTTP, ad esempio, è necessario eseguire questa operazione come passaggio separato. Vedere le classi CHttpConnection e CHttpFile per informazioni sulle operazioni che è possibile eseguire usando una connessione a un server HTTP. Per informazioni sull'esplorazione di un sito HTTP, vedere la funzione OpenURLmembro . Vedere l'articolo Programmazione Internet con WinInet per la procedura per eseguire attività comuni di connessione HTTP.

CInternetSession::OnStatusCallback

Questa funzione membro viene chiamata dal framework per aggiornare lo stato quando il callback dello stato è abilitato e un'operazione è in sospeso.

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

Parametri

dwContext
Valore di contesto fornito dall'applicazione.

dwInternetStatus
Codice di stato che indica il motivo per cui viene eseguito il callback. Per una tabella di valori possibili, vedere la sezione Note.

lpvStatusInformation
Puntatore a un buffer contenente informazioni pertinenti a questo callback.

dwStatusInformationLength
La dimensione di lpvStatusInformation.

Osservazioni:

È necessario prima chiamare EnableStatusCallback per sfruttare i vantaggi del callback di stato.

Il dwInternetStatus parametro indica l'operazione eseguita e determina il contenuto di lpvStatusInformation . dwStatusInformationLength indica la lunghezza dei dati inclusi in lpvStatusInformation. I valori di stato seguenti per dwInternetStatus sono definiti come segue:

Valore Significato
INTERNET_STATUS_RESOLVING_NAME Ricerca dell'indirizzo IP del nome contenuto in lpvStatusInformation.
INTERNET_STATUS_NAME_RESOLVED Trovato correttamente l'indirizzo IP del nome contenuto in lpvStatusInformation.
INTERNET_STATUS_CONNECTING_TO_SERVER Connessione all'indirizzo del socket (SOCKADDR) a lpvStatusInformationcui punta .
INTERNET_STATUS_CONNECTED_TO_SERVER Connesso correttamente all'indirizzo del socket (SOCKADDR) a lpvStatusInformationcui punta .
INTERNET_STATUS_SENDING_REQUEST Invio della richiesta di informazioni al server. Il valore del parametro lpvStatusInformation è NULL.
INTERNET_STATUS_REQUEST_SENT La richiesta di informazioni è stata inviata correttamente al server. Il valore del parametro lpvStatusInformation è NULL.
INTERNET_STATUS_RECEIVING_RESPONSE In attesa che il server risponda a una richiesta. Il valore del parametro lpvStatusInformation è NULL.
INTERNET_STATUS_RESPONSE_RECEIVED È stata ricevuta una risposta dal server. Il valore del parametro lpvStatusInformation è NULL.
INTERNET_STATUS_CLOSING_CONNECTION Chiusura della connessione al server. Il valore del parametro lpvStatusInformation è NULL.
INTERNET_STATUS_CONNECTION_CLOSED La connessione al server è stata chiusa correttamente. Il valore del parametro lpvStatusInformation è NULL.
INTERNET_STATUS_HANDLE_CREATED Usato dalla funzione InternetConnect API Win32 per indicare che ha creato il nuovo handle. Ciò consente all'applicazione di chiamare la funzione InternetCloseHandle Win32 da un altro thread se la connessione richiede troppo tempo. Per altre informazioni su queste funzioni, vedere Windows SDK.
INTERNET_STATUS_HANDLE_CLOSING Terminata correttamente questo valore di handle.

Eseguire l'override di questa funzione membro per richiedere un'azione prima che venga eseguita una routine di callback dello stato.

Nota

I callback di stato richiedono la protezione dello stato del thread. Se si usa MFC in una libreria condivisa, aggiungere la riga seguente all'inizio dell'override:

AFX_MANAGE_STATE(AfxGetAppModuleState());

Per altre informazioni sulle operazioni asincrone, vedere l'articolo Passaggi preliminari su Internet: WinInet.

CInternetSession::OpenURL

Chiamare questa funzione membro per inviare la richiesta specificata al server HTTP e consentire al client di specificare intestazioni RFC822, MIME o HTTP aggiuntive da inviare insieme alla richiesta.

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

Parametri

pstrURL
Puntatore al nome dell'URL da iniziare a leggere. Sono supportati solo gli URL che iniziano con file:, ftp:gopher:, o http: . Asserisce se pstrURL è NULL.

dwContext
Valore definito dall'applicazione passato con l'handle restituito nel callback.

dwFlags
Flag che descrivono come gestire questa connessione. Per altre informazioni sui flag validi, vedere Osservazioni . I flag validi sono:

  • INTERNET_FLAG_TRANSFER_ASCII Impostazione predefinita. Trasferire il file come testo ASCII.

  • INTERNET_FLAG_TRANSFER_BINARY Trasferire il file come file binario.

  • INTERNET_FLAG_RELOAD Ottenere i dati dal collegamento anche se sono memorizzati nella cache locale.

  • INTERNET_FLAG_DONT_CACHE Non memorizzare nella cache i dati, in locale o in alcun gateway.

  • INTERNET_FLAG_SECURE Questo flag è applicabile solo alle richieste HTTP. Richiede transazioni sicure in transito con Secure Sockets Layer o PCT.

  • INTERNET_OPEN_FLAG_USE_EXISTING_CONNECT Se possibile, riutilizzare le connessioni esistenti al server per le nuove richieste generate da OpenUrl anziché creare una nuova sessione per ogni richiesta di connessione.

  • INTERNET_FLAG_PASSIVE Utilizzato per un sito FTP. Usa la semantica FTP passiva. Usato con CInternetConnection di OpenURL.

pstrHeaders
Puntatore a una stringa contenente le intestazioni da inviare al server HTTP.

dwHeadersLength
Lunghezza, in caratteri, delle intestazioni aggiuntive. Se si tratta di -1L e pstrHeaders nonNULL è, pstrHeaders si presuppone che sia zero terminazione e la lunghezza viene calcolata.

Valore restituito

Restituisce un handle di file solo per i servizi Internet FTP, GOPHER, HTTP e FILE. Restituisce NULL se l'analisi non è riuscita.

Il puntatore che OpenURL restituisce pstrURLdipende dal tipo di servizio. La tabella seguente illustra i possibili puntatori OpenURL che possono restituire.

Tipo di URL Valori restituiti
file:// CStdioFile*
http:// CHttpFile*
gopher:// CGopherFile*
ftp:// CInternetFile*

Osservazioni:

Il parametro dwFlags deve includere INTERNET_FLAG_TRANSFER_ASCII o INTERNET_FLAG_TRANSFER_BINARY, ma non entrambi. I flag rimanenti possono essere combinati con l'operatore bit per bit "o" (|).

OpenURL, che esegue il wrapping della funzione InternetOpenURLWin32 , consente solo il download, il recupero e la lettura dei dati da un server Internet. OpenURL non consente alcuna manipolazione di file in una posizione remota, quindi non richiede alcun CInternetConnection oggetto.

Per usare funzioni specifiche della connessione, ovvero specifiche del protocollo, ad esempio la scrittura in un file, è necessario aprire una sessione, quindi aprire un particolare tipo di connessione, quindi usare tale connessione per aprire un file nella modalità desiderata. Per altre informazioni sulle funzioni specifiche della connessione, vedere CInternetConnection .

CInternetSession::operator HINTERNET

Utilizzare questo operatore per ottenere l'handle di Windows per la sessione Internet corrente.

operator HINTERNET() const;

CInternetSession::SetCookie

Imposta un cookie per l'URL specificato.

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

Parametri

pstrUrl
Puntatore a una stringa con terminazione Null che specifica l'URL per il quale deve essere impostato il cookie.

pstrCookieName
Puntatore a una stringa contenente il nome del cookie.

pstrCookieData
Puntatore a una stringa contenente i dati stringa effettivi da associare all'URL.

Valore restituito

Restituisce TRUE se ha esito positivo o FALSE in caso contrario. Per ottenere il codice di errore specifico, chiamare GetLastError.

Osservazioni:

Questa funzione membro implementa il comportamento del messaggio InternetSetCookieWin32 , come descritto in Windows SDK.

CInternetSession::SetOption

Chiamare questa funzione membro per impostare le opzioni per la sessione Internet.

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

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

Parametri

dwOption
Opzione Internet da impostare. Per un elenco delle opzioni possibili, vedere Flag di opzione in Windows SDK.

lpBuffer
Buffer che contiene l'impostazione dell'opzione.

dwBufferLength
Lunghezza di lpBuffer o della dimensione di dwValue.

dwValue
Oggetto DWORD contenente l'impostazione dell'opzione.

dwFlags
Indica varie opzioni di memorizzazione nella cache. Il valore predefinito è impostato su 0. I valori possibili includono:

  • INTERNET_FLAG_DONT_CACHE Non memorizzare nella cache i dati, in locale o in alcun server gateway.

  • INTERNET_FLAG_OFFLINE Le operazioni di download vengono soddisfatte solo tramite la cache persistente. Se l'elemento non esiste nella cache, viene restituito un codice di errore appropriato. Questo flag può essere combinato con l'operatore bit per bit "or" (|).

Valore restituito

Se l'operazione ha esito positivo, viene restituito un valore di TRUE . Se si è verificato un errore, viene restituito un valore di FALSE . Se la chiamata non riesce, la funzione GetLastError Win32 può essere chiamata per determinare la causa dell'errore.

Vedi anche

CObject Classe
Grafico della gerarchia
CInternetConnection Classe
CHttpConnection Classe
CFtpConnection Classe
CGopherConnection Classe