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 AfxParseURL
globale . 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:
GetGopherConnection
per aprire una connessione a un servizio gopher.GetHttpConnection
per aprire una connessione a un servizio HTTP.GetFtpConnection
per aprire una connessione a un servizio FTP.
SetOption
consente di impostare le opzioni di query della sessione, ad esempio valori di timeout, numero di tentativi e così via.
CInternetSession
le funzioni SetCookie
membro , GetCookie
e 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 AfxGetAppName
globale , 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, impostaredwAccessType
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 InternetGetCookie
Win32 , 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 passatodwBufLen
non è sufficiente per copiare tutti i dati del cookie. Il valore restituito indwBufLen
è 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
, CGopherFile
e 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 OpenURL
membro . 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 OpenURL
membro . 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 lpvStatusInformation cui punta . |
INTERNET_STATUS_CONNECTED_TO_SERVER |
Connesso correttamente all'indirizzo del socket (SOCKADDR ) a lpvStatusInformation cui 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 daOpenUrl
anziché creare una nuova sessione per ogni richiesta di connessione.INTERNET_FLAG_PASSIVE
Utilizzato per un sito FTP. Usa la semantica FTP passiva. Usato conCInternetConnection
diOpenURL
.
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 pstrURL
dipende 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 InternetOpenURL
Win32 , 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 InternetSetCookie
Win32 , 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