CHttpConnection – třída
Spravuje připojení k serveru HTTP.
Syntaxe
class CHttpConnection : public CInternetConnection
Členové
Veřejné konstruktory
Název | Popis |
---|---|
CHttpConnection::CHttpConnection | CHttpConnection Vytvoří objekt. |
Veřejné metody
Název | Popis |
---|---|
CHttpConnection::OpenRequest | Otevře požadavek HTTP. |
Poznámky
PROTOKOL HTTP je jedním ze tří protokolů internetového serveru implementovaných třídami winInet knihovny MFC.
Třída CHttpConnection
obsahuje konstruktor a jednu členovou funkci OpenRequest, která spravuje připojení k serveru pomocí protokolu HTTP.
Pokud chcete komunikovat se serverem HTTP, musíte nejprve vytvořit instanci CInternetSession a pak vytvořit objekt CHttpConnection . Nikdy nevytvoříte CHttpConnection
objekt přímo. Místo toho volejte CInternetSession::GetHttpConnection, který objekt vytvoří CHttpConnection
a vrátí na něj ukazatel.
Další informace o tom, jak CHttpConnection
funguje s ostatními internetovými třídami MFC, najdete v článku Internetové programování pomocí winInetu. Další informace o připojení k serverům pomocí dalších dvou podporovaných internetových protokolů, gopher a FTP naleznete v třídách CGopherConnection a CFtpConnection.
Hierarchie dědičnosti
CHttpConnection
Požadavky
Hlavička: afxinet.h
CHttpConnection::CHttpConnection
Tato členová funkce je volána k vytvoření objektu CHttpConnection
.
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);
Parametry
PSession
Ukazatel na objekt CInternetSession .
hConnected
Popisovač připojení k internetu
pstrServer
Ukazatel na řetězec obsahující název serveru.
dwContext
Identifikátor kontextu objektu CInternetConnection
. Další informace o dwContext naleznete v části Poznámky .
nPort
Číslo, které identifikuje internetový port pro toto připojení.
pstrUserName
Ukazatel na řetězec ukončený hodnotou null, který určuje jméno uživatele, který se má přihlásit. Pokud má hodnotu NULL, výchozí hodnota je anonymní.
pstrPassword
Ukazatel na řetězec ukončený hodnotou null, který určuje heslo, které se má použít k přihlášení. Pokud jsou hodnoty pstrPassword i pstrUserName null, výchozí anonymní heslo je e-mailové jméno uživatele. Pokud pstrPassword je NULL nebo prázdný řetězec, ale pstrUserName není NULL, použije se prázdné heslo. Následující tabulka popisuje chování čtyř možných nastavení pstrUserName a pstrPassword:
pstrUserName | pstrPassword | Uživatelské jméno odeslané na server FTP | Heslo odeslané na server FTP |
---|---|---|---|
NULL nebo " | NULL nebo " | "anonymní" | E-mailové jméno uživatele |
Řetězec bez hodnoty NULL | NULL nebo " | pstrUserName | " " |
NULL | Řetězec bez hodnoty NULL | CHYBA | CHYBA |
Řetězec bez hodnoty NULL | Řetězec bez hodnoty NULL | pstrUserName | pstrPassword |
dwFlags
Libovolná kombinace INTERNET_FLAG_*
příznaků. Popis hodnot dwFlags najdete v tabulce v části Poznámky CHttpConnection::OpenRequest.
Poznámky
Nikdy nevytvoříte CHttpConnection
přímo. Místo toho vytvoříte objekt voláním CInternetSession::GetHttpConnection.
CHttpConnection::OpenRequest
Voláním této členské funkce otevřete připojení 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);
Parametry
pstrVerb
Ukazatel na řetězec obsahující příkaz, který se má použít v požadavku. Pokud je hodnota NULL, použije se "GET".
pstrObjectName
Ukazatel na řetězec obsahující cílový objekt zadaného příkazu. Tento řetězec je obecně název souboru, spustitelný modul nebo specifikátor vyhledávání.
pstrReferer
Ukazatel na řetězec, který určuje adresu (URL) dokumentu, ze kterého byla získána adresa URL v požadavku (pstrObjectName). Pokud je hodnota NULL, není zadána žádná hlavička HTTP.
dwContext
Identifikátor kontextu operace OpenRequest
. Další informace o dwContext naleznete v části Poznámky.
ppstrAcceptTypes
Ukazatel na pole LPCTSTR s hodnotou null ukončené na řetězce označující typy obsahu přijaté klientem. Pokud je ppstrAcceptTypes NULL, servery interpretují, že klient přijímá pouze dokumenty typu "text/*" (to znamená pouze textové dokumenty, nikoli obrázky nebo jiné binární soubory). Typ obsahu je ekvivalentní proměnné CGI CONTENT_TYPE, která identifikuje typ dat pro dotazy s připojenými informacemi, jako je HTTP POST a PUT.
pstrVersion
Ukazatel na řetězec definující verzi PROTOKOLU HTTP. Pokud je hodnota NULL, použije se "HTTP/1.0".
dwFlags
Libovolná kombinace příznaků INTERNET_ FLAG_*. Popis možných hodnot dwFlags najdete v části Poznámky .
nVerb
Číslo přidružené k typu požadavku HTTP. Může to být jedna z následujících možností:
Typ požadavku HTTP | nVerb value |
---|---|
HTTP_VERB_POST | 0 |
HTTP_VERB_GET | 0 |
HTTP_VERB_HEAD | 2 |
HTTP_VERB_PUT | 3 |
HTTP_VERB_LINK | 4 |
HTTP_VERB_DELETE | 5 |
HTTP_VERB_UNLINK | 6 |
Návratová hodnota
Ukazatel na požadovaný objekt CHttpFile .
Poznámky
DwFlags může být jedna z následujících možností:
Internetový příznak | Popis |
---|---|
INTERNET_FLAG_RELOAD | Vynutí stažení požadovaného souboru, objektu nebo adresáře ze zdrojového serveru, nikoli z mezipaměti. |
INTERNET_FLAG_DONT_CACHE | Nepřidá vrácenou entitu do mezipaměti. |
INTERNET_FLAG_MAKE_PERSISTENT | Přidá vrácenou entitu do mezipaměti jako trvalou entitu. To znamená, že standardní vyčištění mezipaměti, kontrola konzistence nebo uvolňování paměti nemůže odebrat tuto položku z mezipaměti. |
INTERNET_FLAG_SECURE | Používá sémantiku zabezpečených transakcí. Překládá se na použití PROTOKOLU SSL/PCT a je smysluplný pouze v požadavcích HTTP. |
INTERNET_FLAG_NO_AUTO_REDIRECT | Používá se jenom s protokolem HTTP, určuje, že přesměrování by se nemělo automaticky zpracovávat v souboru CHttpFile::SendRequest. |
dwContext
Přepište výchozí nastavení pro nastavení identifikátoru kontextu na hodnotu podle vašeho výběru. Identifikátor kontextu je přidružen k této konkrétní operaci objektu CHttpConnection
vytvořeného jeho CInternetSession objektu. Hodnota je vrácena do CInternetSession::OnStatusCallback , aby poskytovala stav operace, se kterou je identifikována. Další informace o identifikátoru kontextu najdete v článku Internet First Steps: WinInet .
U této funkce mohou být vyvolány výjimky.
Viz také
CInternetConnection – třída
Graf hierarchie
CInternetConnection – třída
CHttpFile – třída