Sdílet prostřednictvím


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

Jméno popis
CUrl::CUrl Konstruktor
CUrl::~CUrl Destruktor.

Veřejné metody

Jméno 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

Jméno 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 ".").

Vrácená 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.)

Vrácená 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.

Vrácená 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();

Vrácená 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();

Vrácená 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();

Vrácená 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();

Vrácená 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();

Vrácená hodnota

Vrátí heslo.

CUrl::GetPasswordLength

Voláním této metody získáte délku hesla.

inline DWORD GetPasswordLength() const throw();

Vrácená 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();

Vrácená 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();

Vrácená 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();

Vrácená 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();

Vrácená 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();

Vrácená 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();

Vrácená 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();

Vrácená 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();

Vrácená 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();

Vrácená 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.

Vrácená 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.

Vrácená 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.

Vrácená 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.

Vrácená 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.

Vrácená 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.

Vrácená 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.

Vrácená 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.

Vrácená 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.

Vrácená hodnota

Vrátí hodnotu PRAVDA při úspěchu, NEPRAVDA při selhání.

Viz také

Třídy