Funkce nástrojů ATL HTTP
Tyto funkce podporují manipulaci s adresami URL.
Function | Popis |
---|---|
AtlCanonicalizeUrl | Kanonizuje adresu URL, která zahrnuje převod nebezpečných znaků a mezer na řídicí sekvence. |
AtlCombineUrl | Kombinuje základní adresu URL a relativní adresu URL do jedné kanonické adresy URL. |
AtlEscapeUrl | Převede všechny nebezpečné znaky na řídicí sekvence. |
AtlGetDefaultUrlPort | Získá výchozí číslo portu asociované s konkrétním internetovým protokolem nebo schématem. |
AtlIsUnsafeUrlChar | Určuje, zda je znak bezpečný pro použití v adrese URL. |
AtlUnescapeUrl | Převede řídicí znaky zpět na původní hodnoty. |
RGBToHtml | Převede hodnotu COLORREF na text HTML odpovídající této hodnotě barvy. |
SystemTimeToHttpDate | Voláním této funkce převedete systémový čas na řetězec ve formátu vhodném pro použití v hlavičkách protokolu HTTP. |
Požadavky
Hlavička: atlutil.h
AtlCanonicalizeUrl
Voláním této funkce převedete adresu URL na kanonický tvar, přičemž problematické znaky a mezery se převedou na řídicí sekvence.
inline BOOL AtlCanonicalizeUrl(
LPCTSTR szUrl,
LPTSTR szCanonicalized,
DWORD* pdwMaxLength,
DWORD dwFlags = 0) throw();
Parametry
szUrl
Adresa URL, která má být kanonický.
szCanonicalized
Vyrovnávací paměť přidělená volajícím pro příjem kanonické adresy URL.
pdwMaxLength
Ukazatel na proměnnou, která obsahuje délku znaků szCanonicalized. Pokud je funkce úspěšná, proměnná obdrží počet znaků zapsaných do vyrovnávací paměti včetně ukončujícího znaku null. Pokud funkce selže, proměnná obdrží požadovanou délku v bajtech vyrovnávací paměti včetně mezery pro ukončující znak null.
dwFlags
ATL_URL příznaky řízení chování této funkce.
ATL_URL_BROWSER_MODE Nezakóduje ani dekóduje znaky za znakem "#" nebo "?" a neodebere koncové prázdné znaky za "?". 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 kó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_ESCAPE převede všechny řídicí sekvence (%XX) na odpovídající znaky.
ATL_URL_NO_ENCODE Nepřevádí nebezpečné znaky na řídicí sekvence.
ATL_URL_NO_META Neodebere metakvenční sekvence (například "." a ".").
Návratová hodnota
Vrátí hodnotu PRAVDA při úspěchu, NEPRAVDA při selhání.
Poznámky
Chová se jako aktuální verze aplikace InternetCanonicalizeUrl , ale nevyžaduje instalaci winInet nebo Internet Exploreru.
AtlCombineUrl
Voláním této funkce zkombinujete základní a relativní adresu URL do jedné kanonické adresy URL.
inline BOOL AtlCombineUrl(
LPCTSTR szBaseUrl,
LPCTSTR szRelativeUrl,
LPTSTR szBuffer,
DWORD* pdwMaxLength,
DWORD dwFlags = 0) throw();
Parametry
szBaseUrl
Základní adresa URL.
szRelativeUrl
Adresa URL vzhledem k základní adrese URL.
szBuffer
Vyrovnávací paměť přidělená volajícím pro příjem kanonické adresy URL.
pdwMaxLength
Ukazatel na proměnnou, která obsahuje délku znaků szBuffer. Pokud je funkce úspěšná, proměnná obdrží počet znaků zapsaných do vyrovnávací paměti včetně ukončujícího znaku null. Pokud funkce selže, proměnná obdrží požadovanou délku v bajtech vyrovnávací paměti včetně mezery pro ukončující znak null.
dwFlags
Označuje řízení chování této funkce. Viz AtlCanonicalizeUrl.
Návratová hodnota
Vrátí hodnotu PRAVDA při úspěchu, NEPRAVDA při selhání.
Poznámky
Chová se jako aktuální verze aplikace InternetCombineUrl , ale nevyžaduje instalaci winInet nebo Internet Exploreru.
AtlEscapeUrl
Voláním této funkce převedete všechny problematické znaky na řídicí sekvence.
inline BOOL AtlEscapeUrl(
LPCSTR szStringIn,
LPSTR szStringOut,
DWORD* pdwStrLen,
DWORD dwMaxLength,
DWORD dwFlags = 0) throw();
inline BOOL AtlEscapeUrl(
LPCWSTR szStringIn,
LPWSTR szStringOut,
DWORD* pdwStrLen,
DWORD dwMaxLength,
DWORD dwFlags = 0) throw();
Parametry
lpszStringIn
Adresa URL, která se má převést.
lpszStringOut
Vyrovnávací paměť přidělená volajícím, do které se zapíše převedená adresa URL.
pdwStrLen
Ukazatel na proměnnou DWORD. Pokud je funkce úspěšná, pdwStrLen obdrží počet znaků zapsaných do vyrovnávací paměti včetně ukončujícího znaku null. Pokud funkce selže, proměnná obdrží požadovanou délku v bajtech vyrovnávací paměti včetně mezery pro ukončující znak null. Při použití široké znakové verze této metody pdwStrLen obdrží požadovaný počet znaků, nikoli počet bajtů.
dwMaxLength
Velikost vyrovnávací paměti lpszStringOut.
dwFlags
ATL_URL příznaky řízení chování této funkce. Informace o možných hodnotách najdete v souboru ATLCanonicalizeUrl .
Návratová hodnota
Vrátí hodnotu PRAVDA při úspěchu, NEPRAVDA při selhání.
AtlGetDefaultUrlPort
Voláním této funkce získáte výchozí číslo portu přidružené ke konkrétnímu protokolu nebo schématu Internetu.
inline ATL_URL_PORT AtlGetDefaultUrlPort(ATL_URL_SCHEME m_nScheme) throw();
Parametry
m_nScheme
Hodnota ATL_URL_SCHEME identifikující schéma, pro které chcete získat číslo portu.
Návratová hodnota
ATL_URL_PORT přidružené k zadanému schématu nebo ATL_URL_INVALID_PORT_NUMBER, pokud schéma není rozpoznáno.
AtlIsUnsafeUrlChar
Voláním této funkce zjistíte, zda lze znak bezpečně použít v adrese URL.
inline BOOL AtlIsUnsafeUrlChar(char chIn) throw();
Parametry
brada
Znak, který má být testován na bezpečnost.
Návratová hodnota
Vrátí hodnotu PRAVDA, pokud je vstupní znak nebezpečný, jinak nePRAVDA.
Poznámky
Znaky, které by se neměly používat v adresách URL, je možné otestovat pomocí této funkce a převést pomocí atributu AtlCanonicalizeUrl.
AtlUnescapeUrl
Voláním této funkce převedete řídicí znaky zpět na jejich původní hodnoty.
inline BOOL AtlUnescapeUrl(
LPCSTR szStringIn,
LPSTR szStringOut,
LPDWORD pdwStrLen,
DWORD dwMaxLength) throw();
inline BOOL AtlUnescapeUrl(
LPCWSTR szStringIn,
LPWSTR szStringOut,
LPDWORD pdwStrLen,
DWORD dwMaxLength) throw();
Parametry
lpszStringIn
Adresa URL, která se má převést.
lpszStringOut
Vyrovnávací paměť přidělená volajícím, do které se zapíše převedená adresa URL.
pdwStrLen
Ukazatel na proměnnou DWORD. Pokud je funkce úspěšná, proměnná obdrží počet znaků zapsaných do vyrovnávací paměti včetně ukončujícího znaku null. Pokud funkce selže, proměnná obdrží požadovanou délku v bajtech vyrovnávací paměti včetně mezery pro ukončující znak null.
dwMaxLength
Velikost vyrovnávací paměti lpszStringOut.
Návratová hodnota
Vrátí hodnotu PRAVDA při úspěchu, NEPRAVDA při selhání.
Poznámky
Obrátí proces převodu použitý atlEscapeUrl.
RGBToHtml
Převede hodnotu COLORREF na text HTML odpovídající této hodnotě barvy.
bool inline RGBToHtml(
COLORREF color,
LPTSTR pbOut,
long nBuffer);
Parametry
barva
Hodnota barvy RGB.
pbOut
Vyrovnávací paměť přidělená volajícím pro příjem textu pro hodnotu barvy HTML. Vyrovnávací paměť musí mít mezeru nejméně pro 8 znaků včetně mezery pro ukončovací znak null).
nBuffer
Velikost v bajtech vyrovnávací paměti (včetně mezery pro ukončovací znak null)
Návratová hodnota
Vrátí hodnotu PRAVDA při úspěchu, NEPRAVDA při selhání.
Poznámky
Hodnota barvy HTML je znak libry následovaný šestimístnou šestnáctkovou hodnotou, která používá 2 číslice pro každou červenou, zelenou a modrou součást barvy (například #FFFFFF je bílá).
SystemTimeToHttpDate
Voláním této funkce převedete systémový čas na řetězec ve formátu vhodném pro použití v hlavičkách protokolu HTTP.
inline void SystemTimeToHttpDate(
const SYSTEMTIME& st,
CStringA& strTime);
Parametry
sv
Systémový čas, který se má získat jako řetězec formátu HTTP.
strTime
Odkaz na řetězcovou proměnnou pro příjem data a času HTTP definovaného v DOKUMENTU RFC 2616 (https://www.ietf.org/rfc/rfc2616.txt) a RFC 1123 (https://www.ietf.org/rfc/rfc1123.txt).
Viz také
Koncepty
Desktopové komponenty ATL objektů COM
InternetCanonicalizeUrl