Sdílet prostřednictvím


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

Objekt CObject

CInternetConnection

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