Classe CHttpConnection
Gestisce la connessione a un server HTTP.
Sintassi
class CHttpConnection : public CInternetConnection
Membri
Costruttori pubblici
Nome | Descrizione |
---|---|
CHttpConnection::CHttpConnection | Crea un oggetto CHttpConnection . |
Metodi pubblici
Nome | Descrizione |
---|---|
CHttpConnection::OpenRequest | Apre una richiesta HTTP. |
Osservazioni:
HTTP è uno dei tre protocolli server Internet implementati dalle classi WinInet MFC.
La classe CHttpConnection
contiene un costruttore e una funzione membro, OpenRequest, che gestisce le connessioni a un server con un protocollo HTTP.
Per comunicare con un server HTTP, è prima necessario creare un'istanza di CInternetSession e quindi creare un oggetto CHttpConnection . Non si crea mai direttamente un CHttpConnection
oggetto, invece, chiamare CInternetSession::GetHttpConnection, che crea l'oggetto CHttpConnection
e restituisce un puntatore.
Per altre informazioni sul CHttpConnection
funzionamento delle altre classi Internet MFC, vedere l'articolo Programmazione Internet con WinInet. Per altre informazioni sulla connessione ai server usando gli altri due protocolli Internet supportati, gopher e FTP, vedere le classi CGopherConnection e CFtpConnection.
Gerarchia di ereditarietà
CHttpConnection
Requisiti
Intestazione: afxinet.h
CHttpConnection::CHttpConnection
Questa funzione membro viene chiamata per costruire un CHttpConnection
oggetto .
CHttpConnection(
CInternetSession* pSession,
HINTERNET hConnected,
LPCTSTR pstrServer,
DWORD_PTR dwContext);
CHttpConnection(
CInternetSession* pSession,
LPCTSTR pstrServer,
INTERNET_PORT nPort = INTERNET_INVALID_PORT_NUMBER,
LPCTSTR pstrUserName = NULL,
LPCTSTR pstrPassword = NULL,
DWORD_PTR dwContext = 1);
CHttpConnection(
CInternetSession* pSession,
LPCTSTR pstrServer,
DWORD dwFlags,
INTERNET_PORT nPort = INTERNET_INVALID_PORT_NUMBER,
LPCTSTR pstrUserName = NULL,
LPCTSTR pstrPassword = NULL,
DWORD_PTR dwContext = 1);
Parametri
pSession
Puntatore a un oggetto CInternetSession .
hConnected
Handle per una connessione Internet.
pstrServer
Puntatore a una stringa contenente il nome del server.
dwContext
Identificatore di contesto per l'oggetto CInternetConnection
. Per altre informazioni su dwContext, vedere la sezione Osservazioni .
nPort
Numero che identifica la porta Internet per questa connessione.
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 | " " |
NULL | Stringa non NULL | ERROR | ERROR |
Stringa non NULL | Stringa non NULL | pstrUserName | pstrPassword |
dwFlags
Qualsiasi combinazione dei INTERNET_FLAG_*
flag. Per una descrizione dei valori dwFlags, vedere la tabella nella sezione Osservazioni di CHttpConnection::OpenRequest.
Osservazioni:
Non si crea mai direttamente un oggetto CHttpConnection
. È invece possibile creare un oggetto chiamando CInternetSession::GetHttpConnection.
CHttpConnection::OpenRequest
Chiamare la seguente funzione membro per aprire una connessione HTTP.
CHttpFile* OpenRequest(
LPCTSTR pstrVerb,
LPCTSTR pstrObjectName,
LPCTSTR pstrReferer = NULL,
DWORD_PTR dwContext = 1,
LPCTSTR* ppstrAcceptTypes = NULL,
LPCTSTR pstrVersion = NULL,
DWORD dwFlags = INTERNET_FLAG_EXISTING_CONNECT);
CHttpFile* OpenRequest(
int nVerb,
LPCTSTR pstrObjectName,
LPCTSTR pstrReferer = NULL,
DWORD_PTR dwContext = 1,
LPCTSTR* ppstrAcceptTypes = NULL,
LPCTSTR pstrVersion = NULL,
DWORD dwFlags = INTERNET_FLAG_EXISTING_CONNECT);
Parametri
pstrVerb
Puntatore a una stringa contenente il metodo da utilizzare nella richiesta. Se NULL, viene usato "GET".
pstrObjectName
Puntatore a una stringa contenente l'oggetto di destinazione del metodo specificato. Questa stringa è in genere un nome file, un modulo eseguibile o un identificatore di ricerca.
pstrReferer
Puntatore a una stringa che specifica l'indirizzo (URL) del documento da cui è stato ottenuto l'URL nella richiesta (pstrObjectName). Se NULL, non viene specificata alcuna intestazione HTTP.
dwContext
Identificatore di contesto per l'operazione OpenRequest
. Per altre informazioni su dwContext, vedere la sezione Osservazioni.
ppstrAcceptTypes
Puntatore a una matrice con terminazione Null di puntatori LPCTSTR alle stringhe che indicano i tipi di contenuto accettati dal client. Se ppstrAcceptTypes è NULL, i server interpretano che il client accetta solo documenti di tipo "text/*", ovvero solo documenti di testo e non immagini o altri file binari. Il tipo di contenuto è equivalente alla variabile CONTENT_TYPE di CGI, che identifica il tipo di dati per le query con informazioni associate, quali HTTP POST e PUT.
pstrVersion
Puntatore a una stringa che definisce la versione di HTTP. Se NULL, viene usato "HTTP/1.0".
dwFlags
Qualsiasi combinazione dei flag INTERNET_ FLAG_*. Per una descrizione dei possibili valori dwFlags , vedere la sezione Osservazioni.
nVerb
Numero associato al tipo di richiesta HTTP. Può essere uno dei seguenti:
Tipo di richiesta HTTP | Valore nVerb |
---|---|
HTTP_VERB_POST | 0 |
HTTP_VERB_GET | 1 |
HTTP_VERB_HEAD | 2 |
HTTP_VERB_PUT | 3 |
HTTP_VERB_LINK | 4 |
HTTP_VERB_DELETE | 5 |
HTTP_VERB_UNLINK | 6 |
Valore restituito
Puntatore all'oggetto CHttpFile richiesto.
Osservazioni:
dwFlags può essere uno dei seguenti:
Flag Internet | Descrizione |
---|---|
INTERNET_FLAG_RELOAD | Impone un download del file, dell'oggetto o dell'elenco di directory richiesto dal server di origine e non dalla cache. |
INTERNET_FLAG_DONT_CACHE | Non aggiunge l'entità restituita alla cache. |
INTERNET_FLAG_MAKE_PERSISTENT | Aggiunge l'entità restituita alla cache come entità persistente. Ciò significa che la pulizia della cache standard, il controllo della coerenza o l'operazione di Garbage Collection non possono rimuovere questo elemento dalla cache. |
INTERNET_FLAG_SECURE | Utilizza semantica sicura delle transazioni. Si traduce nell'uso di SSL/PCT ed è significativo solo nelle richieste HTTP |
INTERNET_FLAG_NO_AUTO_REDIRECT | Usato solo con HTTP, specifica che i reindirizzamenti non devono essere gestiti automaticamente in CHttpFile::SendRequest. |
Esegue l'override dell'impostazione predefinita dwContext
per impostare l'identificatore di contesto su un valore di propria scelta. L'identificatore di contesto è associato a questa operazione specifica dell'oggetto CHttpConnection
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 .
In questa funzione possono essere generate eccezioni.
Vedi anche
Classe CInternetConnection
Grafico della gerarchia
Classe CInternetConnection
Classe CHttpFile