Udostępnij za pośrednictwem


Funkcje pomocnicze protokołu HTTP ATL

Te funkcje obsługują manipulowanie adresami URL.

Function opis
AtlCanonicalizeUrl Canonicalizuje adres URL, który obejmuje konwertowanie niebezpiecznych znaków i spacji na sekwencje ucieczki.
AtlCombineUrl Łączy podstawowy adres URL i względny adres URL w jeden, kanoniczny adres URL.
AtlEscapeUrl Konwertuje wszystkie niebezpieczne znaki na sekwencje ucieczki.
AtlGetDefaultUrlPort Pobiera domyślny numer portu skojarzony z określonym protokołem internetowym lub schematem.
AtlIsUnsafeUrlChar Określa, czy znak jest bezpieczny do użycia w adresie URL.
AtlUnescapeUrl Konwertuje znaki ucieczki z powrotem na ich oryginalne wartości.
RGBToHtml Konwertuje wartość COLORREF na tekst HTML odpowiadający tej wartości koloru.
SystemTimeToHttpDate Wywołaj tę funkcję, aby skonwertować czas systemowy na ciąg znaków w formacie odpowiednim do używania nagłówków HTTP.

Wymagania

Nagłówek: atlutil.h

AtlCanonicalizeUrl

Wywołaj tę funkcję, aby nadać postać kanoniczną adresowi URL, co obejmuje konwersję niebezpiecznych znaków i spacji na sekwencje unikowe.

inline BOOL AtlCanonicalizeUrl(
   LPCTSTR szUrl,
   LPTSTR szCanonicalized,
   DWORD* pdwMaxLength,
   DWORD dwFlags = 0) throw();

Parametry

szUrl
Adres URL, który ma być kanoniczny.

szCanonicalized
Bufor przydzielony przez obiekt wywołujący do odbierania kanonicznego adresu URL.

pdwMaxLength
Wskaźnik do zmiennej zawierającej długość znaków szCanonicalized. Jeśli funkcja powiedzie się, zmienna otrzyma liczbę znaków zapisanych w buforze, w tym znak null zakończenia. Jeśli funkcja zakończy się niepowodzeniem, zmienna otrzyma wymaganą długość w bajtach buforu, w tym miejsce na znak null zakończenia.

dwFlags
ATL_URL flagi kontrolujące zachowanie tej funkcji.

  • ATL_URL_BROWSER_MODE Nie koduje ani nie dekoduje znaków po znaku "#" lub "?", i nie usuwa końcowego odstępu po znaku "?". Jeśli ta wartość nie zostanie określona, cały adres URL zostanie zakodowany i usunięto końcowy biały znak.

  • ATL_URL_DECODE Konwertuje wszystkie sekwencje %XX na znaki, w tym sekwencje ucieczki, zanim adres URL zostanie przeanalizowany.

  • ATL_URL_ENCODE_PERCENT Koduje wszelkie napotkane znaki procentowe. Domyślnie znaki procentowe nie są kodowane.

  • ATL_URL_ENCODE_SPACES_ONLY Koduje tylko spacje.

  • ATL_URL_ESCAPE Konwertuje wszystkie sekwencje ucieczki (%XX) na odpowiadające im znaki.

  • ATL_URL_NO_ENCODE Nie konwertuje niebezpiecznych znaków na sekwencje ucieczki.

  • ATL_URL_NO_META Nie usuwa sekwencji meta (takich jak "." i "..") z adresu URL.

Wartość zwracana

Zwraca wartość TRUE w przypadku powodzenia, FALSE w przypadku niepowodzenia.

Uwagi

Zachowuje się jak bieżąca wersja programu InternetCanonicalizeUrl , ale nie wymaga zainstalowania programu WinInet ani Internet Explorer.

AtlCombineUrl

Wywołaj tę funkcję, aby połączyć podstawowy adres URL i względny adres URL w jeden kanoniczny adres URL.

inline BOOL AtlCombineUrl(
   LPCTSTR szBaseUrl,
   LPCTSTR szRelativeUrl,
   LPTSTR szBuffer,
   DWORD* pdwMaxLength,
   DWORD dwFlags = 0) throw();

Parametry

szBaseUrl
Podstawowy adres URL.

szRelativeUrl
Adres URL względem podstawowego adresu URL.

szBuffer
Bufor przydzielony przez obiekt wywołujący do odbierania kanonicznego adresu URL.

pdwMaxLength
Wskaźnik do zmiennej zawierającej długość znaków szBuffer. Jeśli funkcja powiedzie się, zmienna otrzyma liczbę znaków zapisanych w buforze, w tym znak null zakończenia. Jeśli funkcja zakończy się niepowodzeniem, zmienna otrzyma wymaganą długość w bajtach buforu, w tym miejsce na znak null zakończenia.

dwFlags
Flagi kontrolujące zachowanie tej funkcji. Zobacz AtlCanonicalizeUrl.

Wartość zwracana

Zwraca wartość TRUE w przypadku powodzenia, FALSE w przypadku niepowodzenia.

Uwagi

Zachowuje się jak bieżąca wersja programu InternetCombineUrl , ale nie wymaga zainstalowania programu WinInet ani Internet Explorer.

AtlEscapeUrl

Wywołaj tę funkcję, aby skonwertować wszystkie niebezpieczne znaki na sekwencje ucieczki.

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
Adres URL, który ma zostać przekonwertowany.

lpszStringOut
Bufor przydzielony przez obiekt wywołujący, do którego zostanie zapisany przekonwertowany adres URL.

pdwStrLen
Wskaźnik do zmiennej DWORD. Jeśli funkcja powiedzie się, funkcja pdwStrLen otrzyma liczbę znaków zapisanych w buforze, w tym znak null zakończenia. Jeśli funkcja zakończy się niepowodzeniem, zmienna otrzyma wymaganą długość w bajtach buforu, w tym miejsce na znak null zakończenia. W przypadku korzystania z szerokiej wersji znaku tej metody funkcja pdwStrLen odbiera wymaganą liczbę znaków, a nie liczbę bajtów.

dwMaxLength
Rozmiar buforu lpszStringOut.

dwFlags
ATL_URL flagi kontrolujące zachowanie tej funkcji. Aby uzyskać możliwe wartości, zobacz ATLCanonicalizeUrl .

Wartość zwracana

Zwraca wartość TRUE w przypadku powodzenia, FALSE w przypadku niepowodzenia.

AtlGetDefaultUrlPort

Wywołaj tę funkcję, aby uzyskać domyślny numer portu skojarzony z określonym protokołem lub schematem internetowym.

inline ATL_URL_PORT AtlGetDefaultUrlPort(ATL_URL_SCHEME m_nScheme) throw();

Parametry

m_nScheme
Wartość ATL_URL_SCHEME identyfikującą schemat, dla którego chcesz uzyskać numer portu.

Wartość zwracana

ATL_URL_PORT skojarzone z określonym schematem lub ATL_URL_INVALID_PORT_NUMBER, jeśli schemat nie zostanie rozpoznany.

AtlIsUnsafeUrlChar

Wywołaj tę funkcję, aby się dowiedzieć, czy użycie danego znaku w adresie URL jest bezpieczne.

inline BOOL AtlIsUnsafeUrlChar(char chIn) throw();

Parametry

podbródek
Znak, który ma zostać przetestowany pod kątem bezpieczeństwa.

Wartość zwracana

Zwraca wartość TRUE, jeśli znak wejściowy jest niebezpieczny, w przeciwnym razie wartość FALSE.

Uwagi

Znaki, które nie powinny być używane w adresach URL, można przetestować przy użyciu tej funkcji i przekonwertować przy użyciu atlCanonicalizeUrl.

AtlUnescapeUrl

Wywołaj tę funkcję, aby skonwertować znaki przetworzone przez sekwencje ucieczki z powrotem do ich oryginalnych wartości.

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
Adres URL, który ma zostać przekonwertowany.

lpszStringOut
Bufor przydzielony przez obiekt wywołujący, do którego zostanie zapisany przekonwertowany adres URL.

pdwStrLen
Wskaźnik do zmiennej DWORD. Jeśli funkcja powiedzie się, zmienna otrzyma liczbę znaków zapisanych w buforze, w tym znak null zakończenia. Jeśli funkcja zakończy się niepowodzeniem, zmienna otrzyma wymaganą długość w bajtach buforu, w tym miejsce na znak null zakończenia.

dwMaxLength
Rozmiar buforu lpszStringOut.

Wartość zwracana

Zwraca wartość TRUE w przypadku powodzenia, FALSE w przypadku niepowodzenia.

Uwagi

Odwraca proces konwersji zastosowany przez atlEscapeUrl.

RGBToHtml

Konwertuje wartość COLORREF na tekst HTML odpowiadający tej wartości koloru.

bool inline RGBToHtml(
   COLORREF color,
   LPTSTR pbOut,
   long nBuffer);

Parametry

Kolor
Wartość koloru RGB.

pbOut
Bufor przydzielony przez obiekt wywołujący w celu odbierania tekstu dla wartości koloru HTML. Bufor musi mieć miejsce na co najmniej 8 znaków, w tym miejsce na terminator o wartości null).

nBuffer
Rozmiar w bajtach buforu (w tym miejsce na terminator o wartości null).

Wartość zwracana

Zwraca wartość TRUE w przypadku powodzenia, FALSE w przypadku niepowodzenia.

Uwagi

Wartość koloru HTML jest znakiem funta, po którym następuje 6-cyfrowa wartość szesnastkowa przy użyciu 2 cyfr dla każdego z czerwonych, zielonych i niebieskich składników koloru (na przykład #FFFFFF jest biała).

SystemTimeToHttpDate

Wywołaj tę funkcję, aby skonwertować czas systemowy na ciąg znaków w formacie odpowiednim do używania nagłówków HTTP.

inline void SystemTimeToHttpDate(
   const SYSTEMTIME& st,
   CStringA& strTime);

Parametry

XXI w.
Czas systemowy, który ma zostać uzyskany jako ciąg formatu HTTP.

strTime
Odwołanie do zmiennej ciągu w celu odbierania godziny daty HTTP zgodnie z definicją w dokumencie RFC 2616 (https://www.ietf.org/rfc/rfc2616.txt) i RFC 1123 (https://www.ietf.org/rfc/rfc1123.txt).

Zobacz też

Pojęcia
Składniki ATL COM pulpitu
InternetCanonicalizeUrl