Freigeben über


ATL HTTP-Hilfsfunktionen

Diese Funktionen unterstützen die Manipulation von URLs.

Funktion Beschreibung
AtlCanonicalizeUrl Kanonisiert eine URL, die das Konvertieren unsicherer Zeichen und Leerzeichen in Escapesequenzen umfasst.
AtlCombineUrl Kombiniert eine Basis-URL und eine relative URL in einer einzelnen, kanonischen URL.
AtlEscapeUrl Konvertiert alle unsicheren Zeichen in Escapesequenzen.
AtlGetDefaultUrlPort Ruft die Standardportnummer ab, die einem bestimmten Internetprotokoll oder Schema zugeordnet ist.
AtlIsUnsafeUrlChar Bestimmt, ob ein Zeichen für die Verwendung in einer URL sicher ist.
AtlUnescapeUrl Konvertiert Escapezeichen zurück in ihre ursprünglichen Werte.
RGBToHtml Konvertiert einen COLORREF-Wert in den HTML-Text, der diesem Farbwert entspricht.
SystemTimeToHttpDate Mit dieser Funktion konvertieren Sie die Systemzeit in eine Zeichenfolge, deren Format sich für die Verwendung in HTTP-Headern eignet.

Anforderungen

Header: atlutil.h

AtlCanonicalizeUrl

Mit dieser Funktion wird eine URL kanonisiert, wobei unsichere Zeichen und Leerzeichen in Escapesequenzen konvertiert werden.

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

Parameter

szUrl
Die url, die kanonischisiert werden soll.

szCanonicalized
Vom Aufrufer zugewiesener Puffer zum Empfangen der kanonisierten URL.

pdwMaxLength
Zeiger auf eine Variable, die die Länge in Zeichen von szCanonicalized enthält. Wenn die Funktion erfolgreich ist, empfängt die Variable die Anzahl der Zeichen, die in den Puffer geschrieben wurden, einschließlich des endenden Nullzeichens. Wenn die Funktion fehlschlägt, empfängt die Variable die erforderliche Länge in Byte des Puffers, einschließlich des Leerraums für das endende Nullzeichen.

dwFlags
ATL_URL Flags, die das Verhalten dieser Funktion steuern.

  • ATL_URL_BROWSER_MODE Codiert oder decodiert keine Zeichen nach "#" oder "?", und entfernt nach "?" keine nachgestellten Leerzeichen. Wenn dieser Wert nicht angegeben ist, wird die gesamte URL codiert und nachfolgende Leerzeichen entfernt.

  • ATL_URL_DECODE Konvertiert alle %XX-Sequenzen in Zeichen, einschließlich Escapesequenzen, bevor die URL analysiert wird.

  • ATL_URL_ENCODE_PERCENT Codiert alle Prozentzeichen. Standardmäßig werden Prozentzeichen nicht codiert.

  • ATL_URL_ENCODE_SPACES_ONLY Codiert nur Leerzeichen.

  • ATL_URL_ESCAPE konvertiert alle Escapesequenzen (%XX) in die entsprechenden Zeichen.

  • ATL_URL_NO_ENCODE Konvertiert unsichere Zeichen nicht in Escapesequenzen.

  • ATL_URL_NO_META Entfernt keine Metasequenzen (z. B. "." und "..") aus der URL.

Rückgabewert

Gibt WAHR für Erfolg, FALSE bei Fehler zurück.

Hinweise

Verhält sich wie die aktuelle Version von InternetCanonicalizeUrl, erfordert jedoch keine Installation von WinInet oder Internet Explorer.

AtlCombineUrl

Mit dieser Funktion wird eine Basis-URL und eine relative URL zu einer einzelnen kanonischen URL zusammengefasst.

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

Parameter

szBaseUrl
Die Basis-URL.

szRelativeUrl
Die URL relativ zur Basis-URL.

szBuffer
Vom Aufrufer zugewiesener Puffer zum Empfangen der kanonisierten URL.

pdwMaxLength
Zeiger auf eine Variable, die die Länge in Zeichen von szBuffer enthält. Wenn die Funktion erfolgreich ist, empfängt die Variable die Anzahl der Zeichen, die in den Puffer geschrieben wurden, einschließlich des endenden Nullzeichens. Wenn die Funktion fehlschlägt, empfängt die Variable die erforderliche Länge in Byte des Puffers, einschließlich des Leerraums für das endende Nullzeichen.

dwFlags
Flags steuern das Verhalten dieser Funktion. Siehe AtlCanonicalizeUrl.

Rückgabewert

Gibt WAHR für Erfolg, FALSE bei Fehler zurück.

Hinweise

Verhält sich wie die aktuelle Version von InternetCombineUrl, erfordert jedoch keine Installation von WinInet oder Internet Explorer.

AtlEscapeUrl

Mit dieser Funktion werden alle unsicheren Zeichen in Escapesequenzen konvertiert.

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();

Parameter

lpszStringIn
Die zu konvertierende URL.

lpszStringOut
Vom Aufrufer zugewiesener Puffer, in den die konvertierte URL geschrieben wird.

pdwStrLen
Zeiger auf eine DWORD-Variable. Wenn die Funktion erfolgreich ist, empfängt pdwStrLen die Anzahl der Zeichen, die in den Puffer geschrieben wurden, einschließlich des endenden Nullzeichens. Wenn die Funktion fehlschlägt, empfängt die Variable die erforderliche Länge in Byte des Puffers, einschließlich des Leerraums für das endende Nullzeichen. Wenn Sie die breite Zeichenversion dieser Methode verwenden, empfängt pdwStrLen die Anzahl der erforderlichen Zeichen, nicht die Anzahl der Bytes.

dwMaxLength
Die Größe des Puffers lpszStringOut.

dwFlags
ATL_URL Flags, die das Verhalten dieser Funktion steuern. Mögliche Werte finden Sie unter ATLCanonicalizeUrl .

Rückgabewert

Gibt WAHR für Erfolg, FALSE bei Fehler zurück.

AtlGetDefaultUrlPort

Mit dieser Funktion wird die Standardportnummer abgerufen, die einem bestimmten Internetprotokoll oder -schema zugeordnet ist.

inline ATL_URL_PORT AtlGetDefaultUrlPort(ATL_URL_SCHEME m_nScheme) throw();

Parameter

m_nScheme
Der ATL_URL_SCHEME Wert, der das Schema identifiziert, für das Sie die Portnummer abrufen möchten.

Rückgabewert

Die dem angegebenen Schema zugeordnete ATL_URL_PORT oder ATL_URL_INVALID_PORT_NUMBER, wenn das Schema nicht erkannt wird.

AtlIsUnsafeUrlChar

Mit dieser Funktion finden Sie heraus, ob die Verwendung eines bestimmten Zeichens in einer URL sicher ist.

inline BOOL AtlIsUnsafeUrlChar(char chIn) throw();

Parameter

Kinn
Das Zeichen, das auf Sicherheit geprüft werden soll.

Rückgabewert

Gibt WAHR zurück, wenn das Eingabezeichen unsicher ist, andernfalls FALSE.

Hinweise

Zeichen, die nicht in URLs verwendet werden sollen, können mithilfe dieser Funktion getestet und mit AtlCanonicalizeUrl konvertiert werden.

AtlUnescapeUrl

Mit dieser Funktion können Sie Escapezeichen zurück in ihre ursprünglichen Werte konvertieren.

inline BOOL AtlUnescapeUrl(
   LPCSTR szStringIn,
   LPSTR szStringOut,
   LPDWORD pdwStrLen,
   DWORD dwMaxLength) throw();

inline BOOL AtlUnescapeUrl(
   LPCWSTR szStringIn,
   LPWSTR szStringOut,
   LPDWORD pdwStrLen,
   DWORD dwMaxLength) throw();

Parameter

lpszStringIn
Die zu konvertierende URL.

lpszStringOut
Vom Aufrufer zugewiesener Puffer, in den die konvertierte URL geschrieben wird.

pdwStrLen
Zeiger auf eine DWORD-Variable. Wenn die Funktion erfolgreich ist, empfängt die Variable die Anzahl der Zeichen, die in den Puffer geschrieben wurden, einschließlich des endenden Nullzeichens. Wenn die Funktion fehlschlägt, empfängt die Variable die erforderliche Länge in Byte des Puffers, einschließlich des Leerraums für das endende Nullzeichen.

dwMaxLength
Die Größe des Puffers lpszStringOut.

Rückgabewert

Gibt WAHR für Erfolg, FALSE bei Fehler zurück.

Hinweise

Kehrt den von AtlEscapeUrl angewendeten Konvertierungsprozess um.

RGBToHtml

Konvertiert einen COLORREF-Wert in den HTML-Text, der diesem Farbwert entspricht.

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

Parameter

color
Ein RGB-Farbwert.

pbOut
Vom Aufrufer zugewiesener Puffer zum Empfangen des Texts für den HTML-Farbwert. Der Puffer muss platz für mindestens 8 Zeichen einschließlich Leerzeichen für den Null-Terminator aufweisen.

nBuffer
Die Größe in Byte des Puffers (einschließlich Leerzeichen für den Null-Endator).

Rückgabewert

Gibt WAHR für Erfolg, FALSE bei Fehler zurück.

Hinweise

Ein HTML-Farbwert ist ein Nummernzeichen, gefolgt von einem 6-stelligen Hexadezimalwert mit 2 Ziffern für jede der roten, grünen und blauen Komponenten der Farbe (z. B. #FFFFFF weiß).

SystemTimeToHttpDate

Mit dieser Funktion konvertieren Sie die Systemzeit in eine Zeichenfolge, deren Format sich für die Verwendung in HTTP-Headern eignet.

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

Parameter

st
Die Systemzeit, die als HTTP-Formatzeichenfolge abgerufen werden soll.

strTime
Ein Verweis auf eine Zeichenfolgenvariable, um die IN RFC 2616 (https://www.ietf.org/rfc/rfc2616.txt) und RFC 1123 (https://www.ietf.org/rfc/rfc1123.txt) definierte HTTP-Datumszeit zu empfangen.

Siehe auch

Konzepte
ATL-COM-Desktop-Komponenten
InternetCanonicalizeUrl