Sdílet prostřednictvím


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