CUrl – třída
Tato třída představuje adresu URL. Umožňuje manipulovat s každým prvkem adresy URL nezávisle na ostatních, ať už parsuje existující řetězec adresy URL nebo vytváří řetězec od začátku.
Důležité
Tuto třídu a její členy nelze použít v aplikacích, které se spouští v prostředí Windows Runtime.
Syntaxe
class CUrl
Členové
Veřejné konstruktory
Název | Popis |
---|---|
CUrl::CUrl | Konstruktor |
CUrl::~CUrl | Destruktor. |
Veřejné metody
Název | Popis |
---|---|
CUrl::Canonicalize | Voláním této metody převeďte řetězec adresy URL na kanonický formulář. |
CUrl::Clear | Voláním této metody vymažete všechna pole adresy URL. |
CUrl::CrackUrl | Voláním této metody dekódujte a parsujte adresu URL. |
CUrl::CreateUrl | Voláním této metody vytvořte adresu URL. |
CUrl::GetExtraInfo | Voláním této metody získáte další informace (například text nebo # text) z adresy URL. |
CUrl::GetExtraInfoLength | Voláním této metody získáte délku dodatečných informací (například text nebo # text) pro načtení z adresy URL. |
CUrl::GetHostName | Voláním této metody získáte název hostitele z adresy URL. |
CUrl::GetHostNameLength | Voláním této metody získáte délku názvu hostitele. |
CUrl::GetPassword | Voláním této metody získáte heslo z adresy URL. |
CUrl::GetPasswordLength | Voláním této metody získáte délku hesla. |
CUrl::GetPortNumber | Voláním této metody získáte číslo portu z hlediska ATL_URL_PORT. |
CUrl::GetScheme | Voláním této metody získáte schéma adres URL. |
CUrl::GetSchemeName | Voláním této metody získáte název schématu adresy URL. |
CUrl::GetSchemeNameLength | Voláním této metody získáte délku názvu schématu adresy URL. |
CUrl::GetUrlLength | Voláním této metody získáte délku adresy URL. |
CUrl::GetUrlPath | Voláním této metody získáte cestu URL. |
CUrl::GetUrlPathLength | Voláním této metody získáte délku cesty URL. |
CUrl::GetUserName | Voláním této metody získáte uživatelské jméno z adresy URL. |
CUrl::GetUserNameLength | Voláním této metody získáte délku uživatelského jména. |
CUrl::SetExtraInfo | Voláním této metody nastavíte další informace (například text nebo # text) adresy URL. |
CUrl::SetHostName | Voláním této metody nastavte název hostitele. |
CUrl::SetPassword | Voláním této metody nastavte heslo. |
CUrl::SetPortNumber | Voláním této metody nastavíte číslo portu z hlediska ATL_URL_PORT. |
CUrl::SetScheme | Voláním této metody nastavíte schéma adresy URL. |
CUrl::SetSchemeName | Voláním této metody nastavíte název schématu adresy URL. |
CUrl::SetUrlPath | Voláním této metody nastavíte cestu URL. |
CUrl::SetUserName | Voláním této metody nastavte uživatelské jméno. |
Veřejné operátory
Název | Popis |
---|---|
CUrl::operator = | Přiřadí zadaný CUrl objekt aktuálnímu CUrl objektu. |
Poznámky
CUrl
umožňuje manipulovat s poli adresy URL, jako je cesta nebo číslo portu. CUrl
rozumí adresám URL následujícího formuláře:
<Scheme>://<UserName>:<Password>@<HostName>:<PortNumber>/<UrlPath><ExtraInfo>
(Některá pole jsou volitelná.) Představte si například tuto adresu URL:
http://someone:secret@www.microsoft.com:80/visualc/stuff.htm#contents
CUrl::CrackUrl parsuje následujícím způsobem:
Schéma: http nebo ATL_URL_SCHEME_HTTP
Uživatelské jméno: "someone"
Heslo: "tajný"
Název hostitele: "
www.microsoft.com
"Číslo portu: 80
UrlPath: "visualc/stuff.htm"
ExtraInfo: "#contents"
K manipulaci s polem UrlPath (například) byste použili GetUrlPath, GetUrlPathLength a SetUrlPath. K vytvoření celého řetězce adresy URL byste použili createUrl .
Požadavky
Hlavička: atlutil.h
CUrl::Canonicalize
Voláním této metody převeďte řetězec adresy URL na kanonický formulář.
inline BOOL Canonicalize(DWORD dwFlags = 0) throw();
Parametry
dwFlags
Příznaky, které řídí kanonizaci. Pokud nejsou zadány žádné příznaky (dwFlags = 0), metoda převede všechny nebezpečné znaky a metakvenční sekvence (například \.,\ ..a \...) na řídicí sekvence. DwFlags může být jedna z následujících hodnot:
ATL_URL_BROWSER_MODE: Nezakóduje ani dekóduje znaky za znakem "#" nebo "" a neodebere koncové prázdné znaky za znakem "". Pokud tato hodnota není zadaná, zakóduje se celá adresa URL a koncové prázdné znaky se odeberou.
ATL_URL _DECODE: Před analýzou adresy URL převede všechny sekvence %XX na znaky, včetně řídicích sekvencí.
ATL_URL _ENCODE_PERCENT: Zakóduje všechna zjištěná procenta. Ve výchozím nastavení nejsou znaky procent zakódovány.
ATL_URL _ENCODE_SPACES_ONLY: Kóduje pouze mezery.
ATL_URL _NO_ENCODE: Nepřevádí nebezpečné znaky na řídicí sekvence.
ATL_URL _NO_META: Neodebere z adresy URL metasekvence (například "." a ".").
Návratová hodnota
Vrátí hodnotu PRAVDA při úspěchu, NEPRAVDA při selhání.
Poznámky
Převod na kanonický formulář zahrnuje převod nebezpečných znaků a mezer na řídicí sekvence.
CUrl::Clear
Voláním této metody vymažete všechna pole adresy URL.
inline void Clear() throw();
CUrl::CrackUrl
Voláním této metody dekódujte a parsujte adresu URL.
BOOL CrackUrl(LPCTSTR lpszUrl, DWORD dwFlags = 0) throw();
Parametry
lpszUrl
Adresa URL.
dwFlags
Zadejte ATL_URL_DECODE nebo ATL_URL_ESCAPE pro převod všech řídicích znaků v souboru lpszUrl na jejich skutečné hodnoty po parsování. (Před visual C++ 2005 ATL_URL_DECODE před parsováním převeďte všechny řídicí znaky.)
Návratová hodnota
Vrátí hodnotu PRAVDA při úspěchu, NEPRAVDA při selhání.
CUrl::CreateUrl
Tato metoda vytvoří řetězec adresy URL z polí komponent objektu CUrl.
inline BOOL CreateUrl(
LPTSTR lpszUrl,
DWORD* pdwMaxLength,
DWORD dwFlags = 0) const throw();
Parametry
lpszUrl
Vyrovnávací paměť řetězce pro uložení celého řetězce adresy URL.
pdwMaxLength
Maximální délka vyrovnávací paměti řetězce lpszUrl .
dwFlags
Zadejte ATL_URL_ESCAPE pro převod všech řídicích znaků v souboru lpszUrl na jejich skutečné hodnoty.
Návratová hodnota
Vrátí hodnotu PRAVDA při úspěchu, NEPRAVDA při selhání.
Poznámky
Tato metoda připojí svá jednotlivá pole, aby se vytvořil úplný řetězec adresy URL pomocí následujícího formátu:
<scheme>://<user>:<pass>@<domain>:<port><path><extra>
Při volání této metody by pdwMaxLength parametr měl zpočátku obsahovat maximální délku vyrovnávací paměti řetězce, na kterou odkazuje parametr lpszUrl . Hodnota pdwMaxLength parametru se aktualizuje o skutečnou délku řetězce adresy URL.
Příklad
Tato ukázka ukazuje vytvoření objektu CUrl a načtení jeho řetězce adresy URL.
CUrl url;
// Set the CUrl contents
url.CrackUrl(_T("http://someone:secret@www.microsoft.com:8080/visualc/stuff.htm#contents"));
// Obtain the length of the URL string and allocate a buffer to
// hold its contents
DWORD dwUrlLen = url.GetUrlLength() + 1;
TCHAR* szUrl = new TCHAR[dwUrlLen];
// Retrieve the contents of the CUrl object
url.CreateUrl(szUrl, &dwUrlLen, 0L);
// Cleanup
delete[] szUrl;
CUrl::CUrl
Konstruktor
CUrl() throw();
CUrl(const CUrl& urlThat) throw();
Parametry
urlThat
Objekt CUrl
, který chcete zkopírovat a vytvořit adresu URL.
CUrl::~CUrl
Destruktor.
~CUrl() throw();
CUrl::GetExtraInfo
Voláním této metody získáte další informace (například text nebo # text) z adresy URL.
inline LPCTSTR GetExtraInfo() const throw();
Návratová hodnota
Vrátí řetězec obsahující dodatečné informace.
CUrl::GetExtraInfoLength
Voláním této metody získáte délku dodatečných informací (například text nebo # text) pro načtení z adresy URL.
inline DWORD GetExtraInfoLength() const throw();
Návratová hodnota
Vrátí délku řetězce obsahujícího dodatečné informace.
CUrl::GetHostName
Voláním této metody získáte název hostitele z adresy URL.
inline LPCTSTR GetHostName() const throw();
Návratová hodnota
Vrátí název hostitele.
CUrl::GetHostNameLength
Voláním této metody získáte délku názvu hostitele.
inline DWORD GetHostNameLength() const throw();
Návratová hodnota
Vrátí délku názvu hostitele.
CUrl::GetPassword
Voláním této metody získáte heslo z adresy URL.
inline LPCTSTR GetPassword() const throw();
Návratová hodnota
Vrátí heslo.
CUrl::GetPasswordLength
Voláním této metody získáte délku hesla.
inline DWORD GetPasswordLength() const throw();
Návratová hodnota
Vrátí délku hesla.
CUrl::GetPortNumber
Voláním této metody získáte číslo portu.
inline ATL_URL_PORT GetPortNumber() const throw();
Návratová hodnota
Vrátí číslo portu.
CUrl::GetScheme
Voláním této metody získáte schéma adres URL.
inline ATL_URL_SCHEME GetScheme() const throw();
Návratová hodnota
Vrátí hodnotu ATL_URL_SCHEME popisující schéma adresy URL.
CUrl::GetSchemeName
Voláním této metody získáte název schématu adresy URL.
inline LPCTSTR GetSchemeName() const throw();
Návratová hodnota
Vrátí název schématu adresy URL (například http nebo ftp).
CUrl::GetSchemeNameLength
Voláním této metody získáte délku názvu schématu adresy URL.
inline DWORD GetSchemeNameLength() const throw();
Návratová hodnota
Vrátí délku názvu schématu adresy URL.
CUrl::GetUrlLength
Voláním této metody získáte délku adresy URL.
inline DWORD GetUrlLength() const throw();
Návratová hodnota
Vrátí délku adresy URL.
CUrl::GetUrlPath
Voláním této metody získáte cestu URL.
inline LPCTSTR GetUrlPath() const throw();
Návratová hodnota
Vrátí cestu URL.
CUrl::GetUrlPathLength
Voláním této metody získáte délku cesty URL.
inline DWORD GetUrlPathLength() const throw();
Návratová hodnota
Vrátí délku cesty URL.
CUrl::GetUserName
Voláním této metody získáte uživatelské jméno z adresy URL.
inline LPCTSTR GetUserName() const throw();
Návratová hodnota
Vrátí uživatelské jméno.
CUrl::GetUserNameLength
Voláním této metody získáte délku uživatelského jména.
inline DWORD GetUserNameLength() const throw();
Návratová hodnota
Vrátí délku uživatelského jména.
CUrl::operator =
Přiřadí zadaný CUrl
objekt aktuálnímu CUrl
objektu.
CUrl& operator= (const CUrl& urlThat) throw();
Parametry
urlThat
Objekt CUrl
, který chcete zkopírovat do aktuálního objektu.
Návratová hodnota
Vrátí odkaz na aktuální objekt.
CUrl::SetExtraInfo
Voláním této metody nastavíte další informace (například text nebo # text) adresy URL.
inline BOOL SetExtraInfo(LPCTSTR lpszInfo) throw();
Parametry
lpszInfo
Řetězec obsahující dodatečné informace, které se mají zahrnout do adresy URL.
Návratová hodnota
Vrátí hodnotu PRAVDA při úspěchu, NEPRAVDA při selhání.
CUrl::SetHostName
Voláním této metody nastavte název hostitele.
inline BOOL SetHostName(LPCTSTR lpszHost) throw();
Parametry
lpszHost
Název hostitele.
Návratová hodnota
Vrátí hodnotu PRAVDA při úspěchu, NEPRAVDA při selhání.
CUrl::SetPassword
Voláním této metody nastavte heslo.
inline BOOL SetPassword(LPCTSTR lpszPass) throw();
Parametry
lpszPass
Heslo.
Návratová hodnota
Vrátí hodnotu PRAVDA při úspěchu, NEPRAVDA při selhání.
CUrl::SetPortNumber
Voláním této metody nastavte číslo portu.
inline BOOL SetPortNumber(ATL_URL_PORT nPrt) throw();
Parametry
nPrt
Číslo portu
Návratová hodnota
Vrátí hodnotu PRAVDA při úspěchu, NEPRAVDA při selhání.
CUrl::SetScheme
Voláním této metody nastavíte schéma adresy URL.
inline BOOL SetScheme(ATL_URL_SCHEME nScheme) throw();
Parametry
nScheme
Jedna z ATL_URL_SCHEME hodnot schématu.
Návratová hodnota
Vrátí hodnotu PRAVDA při úspěchu, NEPRAVDA při selhání.
Poznámky
Schéma můžete také nastavit podle názvu (viz CUrl::SetSchemeName).
CUrl::SetSchemeName
Voláním této metody nastavíte název schématu adresy URL.
inline BOOL SetSchemeName(LPCTSTR lpszSchm) throw();
Parametry
lpszSchm
Název schématu adresy URL.
Návratová hodnota
Vrátí hodnotu PRAVDA při úspěchu, NEPRAVDA při selhání.
Poznámky
Schéma můžete také nastavit pomocí konstanty ATL_URL_SCHEME (viz CUrl::SetScheme).
CUrl::SetUrlPath
Voláním této metody nastavíte cestu URL.
inline BOOL SetUrlPath(LPCTSTR lpszPath) throw();
Parametry
lpszPath
Cesta URL.
Návratová hodnota
Vrátí hodnotu PRAVDA při úspěchu, NEPRAVDA při selhání.
CUrl::SetUserName
Voláním této metody nastavte uživatelské jméno.
inline BOOL SetUserName(LPCTSTR lpszUser) throw();
Parametry
lpszUser
Uživatelské jméno.
Návratová hodnota
Vrátí hodnotu PRAVDA při úspěchu, NEPRAVDA při selhání.