CInternetSession
Třída
Vytvoří a inicializuje jednu nebo několik souběžných internetových relací a v případě potřeby popisuje připojení k proxy serveru.
Syntaxe
class CInternetSession : public CObject
Členové
Veřejné konstruktory
Název | Popis |
---|---|
CInternetSession::CInternetSession |
CInternetSession Vytvoří objekt. |
Veřejné metody
Název | Popis |
---|---|
CInternetSession::Close |
Ukončí připojení k internetu při ukončení internetové relace. |
CInternetSession::EnableStatusCallback |
Vytvoří rutinu zpětného volání stavu. |
CInternetSession::GetContext |
Ukončí připojení k internetu při ukončení internetové relace. |
CInternetSession::GetCookie |
Vrátí soubory cookie pro zadanou adresu URL a všechny její nadřazené adresy URL. |
CInternetSession::GetCookieLength |
Načte proměnnou určující délku souboru cookie uloženého ve vyrovnávací paměti. |
CInternetSession::GetFtpConnection |
Otevře relaci FTP se serverem. Přihlásí se k uživateli. |
CInternetSession::GetGopherConnection |
Otevře server gopher pro aplikaci, která se pokouší otevřít připojení. |
CInternetSession::GetHttpConnection |
Otevře server HTTP pro aplikaci, která se pokouší otevřít připojení. |
CInternetSession::OnStatusCallback |
Aktualizuje stav operace při povolení zpětného volání stavu. |
CInternetSession::OpenURL |
Parsuje a otevře adresu URL. |
CInternetSession::SetCookie |
Nastaví soubor cookie pro zadanou adresu URL. |
CInternetSession::SetOption |
Nastaví možnosti pro internetová relace. |
Veřejné operátory
Název | Popis |
---|---|
CInternetSession::operator HINTERNET |
Popisovač aktuální internetové relace. |
Poznámky
Pokud vaše připojení k internetu musí být zachováno po dobu trvání aplikace, můžete vytvořit CInternetSession
člen třídy CWinApp
.
Jakmile vytvoříte internetovou relaci, můžete volat OpenURL
. CInternetSession
pak za vás parsuje adresu URL voláním globální funkce AfxParseURL
. Bez ohledu na typ protokolu CInternetSession
interpretuje adresu URL a spravuje ji za vás. Může zpracovávat požadavky na místní soubory identifikované prostředkem adresy URL "file://". OpenURL
vrátí ukazatel na CStdioFile
objekt, pokud se jedná o název, který předáte, místní soubor.
Pokud otevřete adresu URL na internetovém serveru pomocí OpenURL
, můžete načíst informace z webu. Pokud chcete provádět akce specifické pro službu (například HTTP, FTP nebo gopher) u souborů umístěných na serveru, musíte navázat odpovídající připojení k danému serveru. Pokud chcete otevřít konkrétní druh připojení přímo ke konkrétní službě, použijte jednu z následujících členských funkcí:
GetGopherConnection
pro otevření připojení ke službě gopher.GetHttpConnection
pro otevření připojení ke službě HTTP.GetFtpConnection
a otevřete připojení ke službě FTP.
SetOption
umožňuje nastavit možnosti dotazu relace, jako jsou hodnoty časového limitu, počet opakování atd.
CInternetSession
členské funkce SetCookie
, GetCookie
a GetCookieLength
poskytují prostředky pro správu databáze souborů cookie Win32, prostřednictvím kterých servery a skripty udržují informace o stavu o klientské pracovní stanici.
Další informace o základních úlohách internetového programování naleznete v článku Internet First Steps: WinInet
. Obecné informace o použití tříd MFC WinInet
naleznete v článku Internetové programování s WinInet
.
Poznámka:
CInternetSession
vyvolá pro AfxThrowNotSupportedException
nepodporované typy služeb. V současné době se podporují pouze následující typy služeb: FTP, HTTP, gopher a soubor.
Hierarchie dědičnosti
CObject
CInternetSession
Požadavky
Záhlaví: afxinet.h
CInternetSession::CInternetSession
Tato členová funkce je volána při vytvoření objektu CInternetSession
.
CInternetSession(
LPCTSTR pstrAgent = NULL,
DWORD_PTR dwContext = 1,
DWORD dwAccessType = PRE_CONFIG_INTERNET_ACCESS,
LPCTSTR pstrProxyName = NULL,
LPCTSTR pstrProxyBypass = NULL,
DWORD dwFlags = 0);
Parametry
pstrAgent
Ukazatel na řetězec, který identifikuje název aplikace nebo entity, která volá internetové funkce (například "Microsoft Internet Browser"). Pokud pstrAgent
je NULL
(výchozí), architektura volá globální funkci AfxGetAppName
, která vrátí řetězec ukončený hodnotou null obsahující název aplikace. Některé protokoly tento řetězec používají k identifikaci vaší aplikace na serveru.
dwContext
Identifikátor kontextu operace. dwContext
identifikuje informace o stavu operace vrácené CInternetSession::OnStatusCallback
. Výchozí hodnota je nastavená na hodnotu 1; Pro operaci však můžete explicitně přiřadit konkrétní ID kontextu. Objekt a jakákoli práce, kterou provede, se přidružuje k danému ID kontextu.
dwAccessType
Typ požadovaného přístupu. Jsou to platné hodnoty, z nichž přesně jedna může být zadána:
INTERNET_OPEN_TYPE_PRECONFIG
Připojte se pomocí předkonfigurovaného nastavení v registru. Tento typ přístupu je nastaven jako výchozí. Pokud se chcete připojit prostřednictvím proxy serveru TIS, nastavtedwAccessType
tuto hodnotu. Registr pak nastavíte odpovídajícím způsobem.INTERNET_OPEN_TYPE_DIRECT
Připojte se přímo k internetu.INTERNET_OPEN_TYPE_PROXY
Připojte se prostřednictvím proxy serveru CERN.
Informace o připojování s různými typy proxy serverů naleznete v části Postup v typické klientské aplikaci FTP.
pstrProxyName
Název upřednostňovaného proxy serveru CERN, pokud dwAccessType
je nastaven jako INTERNET_OPEN_TYPE_PROXY
. Výchozí hodnota je NULL
.
pstrProxyBypass
Ukazatel na řetězec obsahující volitelný seznam serverových adres. Tyto adresy se můžou obejít při použití přístupu k proxy serveru. Pokud je zadána NULL
hodnota, bude seznam obejití načten z registru. Tento parametr je smysluplný pouze v případě, že dwAccessType
je nastaven na INTERNET_OPEN_TYPE_PROXY
hodnotu .
dwFlags
Označuje různé možnosti ukládání do mezipaměti. Výchozí hodnota je nastavená na 0. Mezi možné hodnoty patří:
INTERNET_FLAG_DONT_CACHE
Neupamějte data místně ani na serverech brány.INTERNET_FLAG_OFFLINE
Operace stahování jsou splněné pouze prostřednictvím trvalé mezipaměti. Pokud položka v mezipaměti neexistuje, vrátí se odpovídající kód chyby. Tento příznak může být kombinován s bitovým operátorem "or" (|
).
Poznámky
CInternetSession
je první internetová funkce, kterou volá aplikace. Inicializuje interní datové struktury a připraví se na budoucí volání z aplikace.
Pokud není možné otevřít žádné připojení k internetu, CInternetSession
vyvolá chybu AfxThrowInternetException
.
Příklad
Podívejte se na příklad pro CFtpFileFind
.
CInternetSession::Close
Volání této členské funkce po dokončení aplikace pomocí objektu CInternetSession
.
virtual void Close();
Příklad
Podívejte se na příklad pro CFtpFileFind
.
CInternetSession::EnableStatusCallback
Voláním této členské funkce povolte zpětné volání stavu.
BOOL EnableStatusCallback(BOOL bEnable = TRUE);
Parametry
bEnable
Určuje, jestli je zpětné volání povolené nebo zakázané. Výchozí hodnota je TRUE
.
Návratová hodnota
Nenulové, pokud je úspěšné; jinak 0. Pokud volání selže, určete příčinu selhání prozkoumáním vyvolaného CInternetException
objektu.
Poznámky
Při zpracování zpětného volání stavu můžete na stavovém řádku aplikace zadat stav o průběhu operace (například překlad názvu, připojení k serveru atd.). Zobrazení stavu operace je zvláště žádoucí během dlouhodobé operace.
Vzhledem k tomu, že během zpracování požadavku dochází ke zpětnému volání, měla by aplikace v zpětném volání strávit co nejmenší čas, aby se zabránilo snížení propustnosti dat v síti. Například vložení dialogového okna do zpětného volání může být taková zdlouhavá operace, kterou server ukončí požadavek.
Zpětné volání stavu nelze odebrat, pokud čekají žádné zpětná volání.
Pokud chcete zpracovávat všechny operace asynchronně, musíte buď vytvořit vlastní vlákno, nebo použít funkce WinInet bez mfc.
CInternetSession::GetContext
Voláním této členské funkce získáte kontextovou hodnotu pro konkrétní relaci aplikace.
DWORD_PTR GetContext() const;
Návratová hodnota
Identifikátor kontextu definovaný aplikací.
Poznámky
OnStatusCallback
používá ID kontextu vrácené GetContext
k hlášení stavu konkrétní aplikace. Když například uživatel aktivuje požadavek na internet, který zahrnuje vrácení informací o stavu, zpětné volání stavu použije ID kontextu k hlášení stavu konkrétního požadavku. Pokud uživatel aktivuje dva samostatné internetové požadavky, které zahrnují vrácení informací o stavu, OnStatusCallback
použije kontextové identifikátory k vrácení stavu odpovídajících požadavků. V důsledku toho se identifikátor kontextu používá pro všechny operace zpětného volání stavu a je přidružený k relaci, dokud relace nebude ukončena.
Další informace o asynchronních operacích naleznete v článku Internet First Steps: WinInet.
CInternetSession::GetCookie
Tato členová funkce implementuje chování funkce InternetGetCookie
Win32 , jak je popsáno v sadě Windows SDK.
static BOOL GetCookie(
LPCTSTR pstrUrl,
LPCTSTR pstrCookieName,
LPTSTR pstrCookieData,
DWORD dwBufLen);
static BOOL GetCookie(
LPCTSTR pstrUrl,
LPCTSTR pstrCookieName,
CString& strCookieData);
Parametry
pstrUrl
Ukazatel na řetězec obsahující adresu URL.
pstrCookieName
Ukazatel na řetězec obsahující název souboru cookie, který se má získat pro zadanou adresu URL.
pstrCookieData
V prvním přetížení ukazatel na řetězec obsahující adresu vyrovnávací paměti, která přijímá data cookie. Tato hodnota může být NULL
. V druhém přetížení, odkaz na CString
objekt pro příjem dat cookie.
dwBufLen
Proměnná určující velikost pstrCookieData
vyrovnávací paměti. Pokud je funkce úspěšná, vyrovnávací paměť obdrží množství dat zkopírovaných do pstrCookieData
vyrovnávací paměti. Pokud pstrCookieData
je NULL
, tento parametr obdrží hodnotu, která určuje velikost vyrovnávací paměti potřebné ke zkopírování všech dat cookie.
Návratová hodnota
Vrátí TRUE
v případě úspěchu nebo FALSE
jinak. Pokud volání selže, zavolejte funkci GetLastError
Win32, která určí příčinu chyby. Platí následující chybové hodnoty:
ERROR_NO_MORE_ITEMS
Pro zadanou adresu URL a všechny její nadřazené objekty neexistuje žádný soubor cookie.ERROR_INSUFFICIENT_BUFFER
PředanádwBufLen
hodnota není dostatečná ke zkopírování všech dat souboru cookie. Vrácená hodnotadwBufLen
je velikost vyrovnávací paměti potřebné k získání všech dat.
Poznámky
V druhém přetížení mfc načte data cookie do zadaného CString
objektu.
CInternetSession::GetCookieLength
Voláním této členské funkce získáte délku souboru cookie uloženého ve vyrovnávací paměti.
static DWORD GetCookieLength(
LPCTSTR pstrUrl,
LPCTSTR pstrCookieName);
Parametry
pstrUrl
Ukazatel na řetězec obsahující adresu URL
pstrCookieName
Ukazatel na řetězec obsahující název souboru cookie.
Návratová hodnota
Hodnota DWORD
označující délku souboru cookie uloženou ve vyrovnávací paměti. Nula, pokud neexistuje žádný soubor cookie s názvem označeným pstrCookieName
názvem.
Poznámky
Tuto hodnotu používá GetCookie
.
CInternetSession::GetFtpConnection
Voláním této členské funkce navážete připojení FTP a získáte ukazatel na CFtpConnection
objekt.
CFtpConnection* GetFtpConnection(
LPCTSTR pstrServer,
LPCTSTR pstrUserName = NULL,
LPCTSTR pstrPassword = NULL,
INTERNET_PORT nPort = INTERNET_INVALID_PORT_NUMBER,
BOOL bPassive = FALSE);
Parametry
pstrServer
Ukazatel na řetězec obsahující název serveru FTP.
pstrUserName
Ukazatel na řetězec ukončený hodnotou null, který určuje jméno uživatele, který se má přihlásit. Pokud NULL
je výchozí hodnota anonymní.
pstrPassword
Ukazatel na řetězec ukončený hodnotou null, který určuje heslo, které se má použít pro přihlášení. Pokud ano pstrPassword
, 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 " " |
"anonymous" |
E-mailové jméno uživatele |
NeřetězcovýNULL řetězec |
NULL nebo " " |
pstrUserName |
" " |
NULL |
NeřetězcovýNULL řetězec |
CHYBA | CHYBA |
NeřetězcovýNULL řetězec |
NeřetězcovýNULL řetězec |
pstrUserName |
pstrPassword |
nPort
Číslo, které identifikuje port TCP/IP, který se má použít na serveru.
bPassive
Určuje pasivní nebo aktivní režim pro tuto relaci FTP. Pokud je nastavená hodnota TRUE
, nastaví rozhraní API dwFlag
Win32 na INTERNET_FLAG_PASSIVE
hodnotu .
Návratová hodnota
Ukazatel na CFtpConnection
objekt. Pokud volání selže, určete příčinu selhání prozkoumáním vyvolaného CInternetException
objektu.
Poznámky
GetFtpConnection
se připojí k serveru FTP a vytvoří a vrátí ukazatel na CFTPConnection
objekt. Na serveru neprovádí žádnou konkrétní operaci. Pokud například máte v úmyslu číst nebo zapisovat do souborů, musíte tyto operace provádět jako samostatné kroky. Podívejte se na třídy CFtpConnection
a CFtpFileFind
informace o hledání souborů, otevírání souborů a čtení nebo zápisu do souborů. Postup provádění běžných úloh připojení FTP najdete v článku Internetové programování pomocí winInetu .
Příklad
Podívejte se na příklad pro CFtpFileFind
.
CInternetSession::GetGopherConnection
Voláním této členské funkce vytvořte nové připojení gopheru a získejte ukazatel na CGopherConnection
objekt.
CGopherConnection* GetGopherConnection(
LPCTSTR pstrServer,
LPCTSTR pstrUserName = NULL,
LPCTSTR pstrPassword = NULL,
INTERNET_PORT nPort = INTERNET_INVALID_PORT_NUMBER);
Parametry
pstrServer
Ukazatel na řetězec obsahující název serveru gopher.
pstrUserName
Ukazatel na řetězec obsahující uživatelské jméno.
pstrPassword
Ukazatel na řetězec obsahující přístupové heslo.
nPort
Číslo, které identifikuje port TCP/IP, který se má použít na serveru.
Návratová hodnota
Ukazatel na CGopherConnection
objekt. Pokud volání selže, určete příčinu selhání prozkoumáním vyvolaného CInternetException
objektu.
Poznámky
GetGopherConnection
se připojí k serveru gopher a vytvoří a vrátí ukazatel na CGopherConnection
objekt. Na serveru neprovádí žádnou konkrétní operaci. Pokud například chcete číst nebo zapisovat data, musíte tyto operace provádět jako samostatné kroky. Viz třídy CGopherConnection
, CGopherFile
a CGopherFileFind
informace o hledání souborů, otevírání souborů a čtení nebo zápisu do souborů. Informace o procházení serveru FTP naleznete v členské funkci OpenURL
. Postup provádění běžných úloh připojení gopher najdete v článku Internetové programování pomocí winInetu .
CInternetSession::GetHttpConnection
Voláním této členské funkce navážete připojení HTTP a získáte ukazatel na CHttpConnection
objekt.
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);
Parametry
pstrServer
Ukazatel na řetězec obsahující název serveru HTTP.
nPort
Číslo, které identifikuje port TCP/IP, který se má použít na serveru.
pstrUserName
Ukazatel na řetězec obsahující uživatelské jméno.
pstrPassword
Ukazatel na řetězec obsahující přístupové heslo.
dwflags
Libovolná kombinace INTERNET_FLAG_*
příznaků. Popis hodnot najdete v tabulce v části CHttpConnection::OpenRequest
dwFlags
Poznámky.
Návratová hodnota
Ukazatel na CHttpConnection
objekt. Pokud volání selže, určete příčinu selhání prozkoumáním vyvolaného CInternetException
objektu.
Poznámky
GetHttpConnection
připojí se k serveru HTTP a vytvoří a vrátí ukazatel na CHttpConnection
objekt. Na serveru neprovádí žádnou konkrétní operaci. Pokud chcete například zadat dotaz na hlavičku HTTP, musíte tuto operaci provést jako samostatný krok. Podívejte se na třídy CHttpConnection
a CHttpFile
informace o operacích, které můžete provést pomocí připojení k serveru HTTP. Informace o procházení webu HTTP naleznete v členské funkci OpenURL
. Postup provádění běžných úloh připojení HTTP najdete v článku Internetové programování pomocí winInetu .
CInternetSession::OnStatusCallback
Tato členová funkce je volána architekturou, která aktualizuje stav, když je povoleno zpětné volání stavu a operace čeká na vyřízení.
virtual void OnStatusCallback(
DWORD_PTR dwContext,
DWORD dwInternetStatus,
LPVOID lpvStatusInformation,
DWORD dwStatusInformationLength);
Parametry
dwContext
Kontextová hodnota zadaná aplikací.
dwInternetStatus
Stavový kód, který označuje, proč probíhá zpětné volání. Viz Poznámky pro tabulku možných hodnot.
lpvStatusInformation
Ukazatel na vyrovnávací paměť obsahující informace týkající se tohoto zpětného volání.
dwStatusInformationLength
Velikost lpvStatusInformation
.
Poznámky
Nejprve musíte volat EnableStatusCallback
, abyste využili zpětného volání stavu.
Parametr dwInternetStatus
označuje operaci, která se provádí, a určuje, jaký bude obsah lpvStatusInformation
. dwStatusInformationLength
určuje délku údajů zahrnutých v lpvStatusInformation
. Následující stavové hodnoty dwInternetStatus
jsou definovány takto:
Hodnota | Význam |
---|---|
INTERNET_STATUS_RESOLVING_NAME |
Vyhledání IP adresy názvu obsaženého v lpvStatusInformation souboru . |
INTERNET_STATUS_NAME_RESOLVED |
Byla úspěšně nalezena IP adresa názvu obsaženého v lpvStatusInformation souboru . |
INTERNET_STATUS_CONNECTING_TO_SERVER |
Připojení k adrese soketu (SOCKADDR ), na kterou lpvStatusInformation odkazuje . |
INTERNET_STATUS_CONNECTED_TO_SERVER |
Úspěšně připojeno k adrese soketu (SOCKADDR ) odkazované na lpvStatusInformation . |
INTERNET_STATUS_SENDING_REQUEST |
Odeslání žádosti o informace na server. Parametr lpvStatusInformation je NULL . |
INTERNET_STATUS_REQUEST_SENT |
Žádost o informace byla úspěšně odeslána na server. Parametr lpvStatusInformation je NULL . |
INTERNET_STATUS_RECEIVING_RESPONSE |
Čeká se, až server odpoví na žádost. Parametr lpvStatusInformation je NULL . |
INTERNET_STATUS_RESPONSE_RECEIVED |
Server úspěšně obdržel odpověď. Parametr lpvStatusInformation je NULL . |
INTERNET_STATUS_CLOSING_CONNECTION |
Zavření připojení k serveru Parametr lpvStatusInformation je NULL . |
INTERNET_STATUS_CONNECTION_CLOSED |
Připojení k serveru bylo úspěšně ukončeno. Parametr lpvStatusInformation je NULL . |
INTERNET_STATUS_HANDLE_CREATED |
Funkce rozhraní API InternetConnect Win32 používá k označení, že vytvořil nový popisovač. Aplikace tak může volat funkci InternetCloseHandle Win32 z jiného vlákna, pokud připojení trvá příliš dlouho. Další informace o těchto funkcích najdete v sadě Windows SDK. |
INTERNET_STATUS_HANDLE_CLOSING |
Tato hodnota popisovače byla úspěšně ukončena. |
Přepište tuto členovou funkci tak, aby před provedením rutiny zpětného volání stavu vyžadovala nějakou akci.
Poznámka:
Zpětná volání stavu vyžadují ochranu stavu podprocesů. Pokud používáte mfc ve sdílené knihovně, přidejte na začátek přepsání následující řádek:
AFX_MANAGE_STATE(AfxGetAppModuleState());
Další informace o asynchronních operacích naleznete v článku Internet First Steps: WinInet.
CInternetSession::OpenURL
Voláním této členské funkce odešlete zadaný požadavek na server HTTP a umožníte klientovi zadat další hlavičky RFC822, MIME nebo HTTP, které se mají odeslat spolu s požadavkem.
CStdioFile* OpenURL(
LPCTSTR pstrURL,
DWORD_PTR dwContext = 1,
DWORD dwFlags = INTERNET_FLAG_TRANSFER_ASCII,
LPCTSTR pstrHeaders = NULL,
DWORD dwHeadersLength = 0);
Parametry
pstrURL
Ukazatel na název adresy URL, který začne číst. Podporují se pouze adresy URL začínající na file:
, ftp:
gopher:
, nebo http:
jsou podporované. Asserts if pstrURL
is NULL
.
dwContext
Předaná hodnota definovaná aplikací s vráceným popisovačem v zpětném volání.
dwFlags
Příznaky popisující, jak toto připojení zpracovat. Další informace o platných příznakech najdete v poznámkách. Platné příznaky jsou:
INTERNET_FLAG_TRANSFER_ASCII
Výchozí hodnota. Přeneste soubor jako text ASCII.INTERNET_FLAG_TRANSFER_BINARY
Přeneste soubor jako binární soubor.INTERNET_FLAG_RELOAD
Získejte data z drátu, i když jsou místně uložená v mezipaměti.INTERNET_FLAG_DONT_CACHE
Data neupamějte místně ani v žádné bráně.INTERNET_FLAG_SECURE
Tento příznak se vztahuje pouze na požadavky HTTP. Požaduje zabezpečené transakce na drátu pomocí protokolu SECURE Sockets Layer nebo PCT.INTERNET_OPEN_FLAG_USE_EXISTING_CONNECT
Pokud je to možné, znovu použijte stávající připojení k serveru pro nové požadavky vygenerovanéOpenUrl
místo vytvoření nové relace pro každou žádost o připojení.INTERNET_FLAG_PASSIVE
Používá se pro server FTP. Používá pasivní sémantiku FTP. Používá se sCInternetConnection
.OpenURL
pstrHeaders
Ukazatel na řetězec obsahující hlavičky, které se mají odeslat na server HTTP.
dwHeadersLength
Délka dalších záhlaví ve znacích. Pokud je -1L
tato hodnota a pstrHeaders
neníNULL
, předpokládá se, pstrHeaders
že je nulová a délka se vypočítá.
Návratová hodnota
Vrátí popisovač souboru pouze pro internetové služby FTP, GOPHER, HTTP a FILE. Vrátí NULL
, pokud analýza nebyla úspěšná.
Ukazatel, který OpenURL
se vrátí, závisí na pstrURL
typu služby. Následující tabulka ukazuje možné ukazatele, které OpenURL
se můžou vrátit.
Typ adresy URL | Návraty |
---|---|
file:// |
CStdioFile* |
http:// |
CHttpFile* |
gopher:// |
CGopherFile* |
ftp:// |
CInternetFile* |
Poznámky
dwFlags
Parametr musí obsahovat buď INTERNET_FLAG_TRANSFER_ASCII
nebo INTERNET_FLAG_TRANSFER_BINARY
, ale ne obojí. Zbývající příznaky lze kombinovat s bitovým operátorem "or" (|
).
OpenURL
, která zabalí funkci InternetOpenURL
Win32 , umožňuje stahovat, načítat a číst data z internetového serveru. OpenURL
neumožňuje manipulaci se soubory ve vzdáleném umístění, takže nevyžaduje žádný CInternetConnection
objekt.
Pokud chcete použít funkce specifické pro připojení (tj. specifické pro protokoly), jako je zápis do souboru, musíte otevřít relaci, pak otevřít konkrétní typ připojení a pak toto připojení použít k otevření souboru v požadovaném režimu. Další CInternetConnection
informace o funkcích specifických pro připojení.
CInternetSession::operator HINTERNET
Pomocí tohoto operátoru získáte popisovač Windows pro aktuální internet relaci.
operator HINTERNET() const;
CInternetSession::SetCookie
Nastaví soubor cookie pro zadanou adresu URL.
static BOOL SetCookie(
LPCTSTR pstrUrl,
LPCTSTR pstrCookieName,
LPCTSTR pstrCookieData);
Parametry
pstrUrl
Ukazatel na řetězec s ukončenou hodnotou null, který určuje adresu URL, pro kterou má být soubor cookie nastaven.
pstrCookieName
Ukazatel na řetězec obsahující název souboru cookie.
pstrCookieData
Ukazatel na řetězec obsahující skutečná řetězcová data, která se mají přidružit k adrese URL.
Návratová hodnota
Vrátí TRUE
v případě úspěchu nebo FALSE
jinak. Pokud chcete získat konkrétní kód chyby, zavolejte GetLastError
.
Poznámky
Tato členová funkce implementuje chování zprávy InternetSetCookie
Win32, jak je popsáno v sadě Windows SDK.
CInternetSession::SetOption
Voláním této členské funkce nastavíte možnosti internetové relace.
BOOL SetOption(
DWORD dwOption,
LPVOID lpBuffer,
DWORD dwBufferLength,
DWORD dwFlags = 0);
BOOL SetOption(
DWORD dwOption,
DWORD dwValue,
DWORD dwFlags = 0);
Parametry
dwOption
Možnost Internetu, která se má nastavit. Seznam možných možností najdete v části Příznaky možností v sadě Windows SDK.
lpBuffer
Vyrovnávací paměť, která obsahuje nastavení možnosti.
dwBufferLength
Délka lpBuffer
nebo velikost dwValue
.
dwValue
A DWORD
obsahující nastavení možnosti.
dwFlags
Označuje různé možnosti ukládání do mezipaměti. Výchozí hodnota je nastavená na 0. Mezi možné hodnoty patří:
INTERNET_FLAG_DONT_CACHE
Neupamějte data místně ani na serverech brány.INTERNET_FLAG_OFFLINE
Operace stahování jsou splněné pouze prostřednictvím trvalé mezipaměti. Pokud položka v mezipaměti neexistuje, vrátí se odpovídající kód chyby. Tento příznak může být kombinován s bitovým operátorem "or" (|
).
Návratová hodnota
Pokud byla operace úspěšná, vrátí se hodnota TRUE
. Pokud došlo k chybě, vrátí se hodnota FALSE
. Pokud volání selže, může být volána funkce GetLastError
Win32 k určení příčiny chyby.
Viz také
CObject
Třída
Graf hierarchie
CInternetConnection
Třída
CHttpConnection
Třída
CFtpConnection
Třída
CGopherConnection
Třída