Fonctions utilitaires ATL HTTP

Ces fonctions prennent en charge la manipulation des URL.

Fonction Description
AtlCanonicalizeUrl Canonicalise une URL, qui inclut la conversion de caractères et d’espaces non sécurisés en séquences d’échappement.
AtlCombineUrl Combine une URL de base et une URL relative en une URL unique et canonique.
AtlEscapeUrl Convertit tous les caractères non sécurisés en séquences d’échappement.
AtlGetDefaultUrlPort Obtient le numéro de port par défaut associé à un protocole ou schéma Internet particulier.
AtlIsUnsafeUrlChar Détermine si un caractère est sécurisé pour une utilisation dans une URL.
AtlUnescapeUrl Convertit les caractères échappés en leurs valeurs d’origine.
RGBToHtml Convertit une valeur COLORREF en texte HTML correspondant à cette valeur de couleur.
SystemTimeToHttpDate Appelez cette fonction pour convertir une heure système en une chaîne au format approprié pour être utilisée dans les en-têtes HTTP.

Spécifications

En-tête : atlutil.h

AtlCanonicalizeUrl

Appelez cette fonction pour rendre canonique une URL, notamment afin de convertir les caractères et espaces non sécurisés en séquences d'échappement.

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

Paramètres

szUrl
URL à canoniser.

szCanonicalized
Mémoire tampon allouée par l’appelant pour recevoir l’URL canonique.

pdwMaxLength
Pointeur vers une variable qui contient la longueur en caractères de szCanonicalized. Si la fonction réussit, la variable reçoit le nombre de caractères écrits dans la mémoire tampon, y compris le caractère null de fin. Si la fonction échoue, la variable reçoit la longueur requise en octets de la mémoire tampon, y compris l’espace pour le caractère null de fin.

dwFlags
ATL_URL indicateurs contrôlant le comportement de cette fonction.

  • ATL_URL_BROWSER_MODE N’encode pas ou ne décode pas les caractères après « # » ou « ? », et ne supprime pas l’espace blanc de fin après « ? ». Si cette valeur n’est pas spécifiée, l’URL entière est encodée et l’espace blanc de fin est supprimé.

  • ATL_URL_DECODE convertit toutes les séquences %XX en caractères, y compris les séquences d’échappement, avant l’analyse de l’URL.

  • ATL_URL_ENCODE_PERCENT encoder tous les signes de pourcentage rencontrés. Par défaut, les signes de pourcentage ne sont pas encodés.

  • ATL_URL_ENCODE_SPACES_ONLY encode uniquement les espaces.

  • ATL_URL_ESCAPE convertit toutes les séquences d’échappement (%XX) en caractères correspondants.

  • ATL_URL_NO_ENCODE Ne convertit pas les caractères non sécurisés en séquences d’échappement.

  • ATL_URL_NO_META Ne supprime pas les séquences de métas (telles que « ». » et « .. ») de l’URL.

Valeur de retour

Retourne TRUE en cas de réussite, FALSE en cas d’échec.

Notes

Se comporte comme la version actuelle d’InternetCanonicalizeUrl, mais ne nécessite pas l’installation de WinInet ou d’Internet Explorer.

AtlCombineUrl

Appelez cette fonction pour associer une URL de base et une URL relative en une URL unique et canonique.

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

Paramètres

szBaseUrl
URL de base.

szRelativeUrl
URL relative à l’URL de base.

szBuffer
Mémoire tampon allouée par l’appelant pour recevoir l’URL canonique.

pdwMaxLength
Pointeur vers une variable qui contient la longueur en caractères de szBuffer. Si la fonction réussit, la variable reçoit le nombre de caractères écrits dans la mémoire tampon, y compris le caractère null de fin. Si la fonction échoue, la variable reçoit la longueur requise en octets de la mémoire tampon, y compris l’espace pour le caractère null de fin.

dwFlags
Indicateurs contrôlant le comportement de cette fonction. Voir AtlCanonicalizeUrl.

Valeur de retour

Retourne TRUE en cas de réussite, FALSE en cas d’échec.

Notes

Se comporte comme la version actuelle d’InternetCombineUrl, mais ne nécessite pas l’installation de WinInet ou d’Internet Explorer.

AtlEscapeUrl

Appelez cette fonction pour convertir tous les caractères non sécurisés en séquences d'échappement.

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

Paramètres

lpszStringIn
URL à convertir.

lpszStringOut
Mémoire tampon allouée par l’appelant auquel l’URL convertie sera écrite.

pdwStrLen
Pointeur vers une variable DWORD. Si la fonction réussit, pdwStrLen reçoit le nombre de caractères écrits dans la mémoire tampon, y compris le caractère null de fin. Si la fonction échoue, la variable reçoit la longueur requise en octets de la mémoire tampon, y compris l’espace pour le caractère null de fin. Lorsque vous utilisez la version large de cette méthode, pdwStrLen reçoit le nombre de caractères requis, et non le nombre d’octets.

dwMaxLength
Taille de la mémoire tampon lpszStringOut.

dwFlags
ATL_URL indicateurs contrôlant le comportement de cette fonction. Pour connaître les valeurs possibles, consultez ATLCanonicalizeUrl .

Valeur de retour

Retourne TRUE en cas de réussite, FALSE en cas d’échec.

AtlGetDefaultUrlPort

Appelez cette fonction pour obtenir le numéro de port par défaut associé à un protocole ou un modèle Internet particulier.

inline ATL_URL_PORT AtlGetDefaultUrlPort(ATL_URL_SCHEME m_nScheme) throw();

Paramètres

m_nScheme
Valeur ATL_URL_SCHEME identifiant le schéma pour lequel vous souhaitez obtenir le numéro de port.

Valeur de retour

Le ATL_URL_PORT associé au schéma spécifié ou ATL_URL_INVALID_PORT_NUMBER si le schéma n’est pas reconnu.

AtlIsUnsafeUrlChar

Appelez cette fonction pour déterminer si un caractère peut être utilisé de manière sécurisée dans une URL.

inline BOOL AtlIsUnsafeUrlChar(char chIn) throw();

Paramètres

menton
Caractère à tester pour la sécurité.

Valeur de retour

Retourne TRUE si le caractère d’entrée est dangereux, FALSE sinon.

Notes

Les caractères qui ne doivent pas être utilisés dans les URL peuvent être testés à l’aide de cette fonction et convertis à l’aide d’AtlCanonicalizeUrl.

AtlUnescapeUrl

Appelez cette fonction pour convertir les caractères ayant fait l'objet d'une séquence d'échappement vers leurs valeurs d'origine.

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

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

Paramètres

lpszStringIn
URL à convertir.

lpszStringOut
Mémoire tampon allouée par l’appelant auquel l’URL convertie sera écrite.

pdwStrLen
Pointeur vers une variable DWORD. Si la fonction réussit, la variable reçoit le nombre de caractères écrits dans la mémoire tampon, y compris le caractère null de fin. Si la fonction échoue, la variable reçoit la longueur requise en octets de la mémoire tampon, y compris l’espace pour le caractère null de fin.

dwMaxLength
Taille de la mémoire tampon lpszStringOut.

Valeur de retour

Retourne TRUE en cas de réussite, FALSE en cas d’échec.

Notes

Inverse le processus de conversion appliqué par AtlEscapeUrl.

RGBToHtml

Convertit une valeur COLORREF en texte HTML correspondant à cette valeur de couleur.

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

Paramètres

color
Valeur de couleur RVB.

pbOut
Mémoire tampon allouée par l’appelant pour recevoir le texte de la valeur de couleur HTML. La mémoire tampon doit avoir de l’espace pour au moins 8 caractères, y compris l’espace pour le terminateur Null.

nBuffer
Taille en octets de la mémoire tampon (y compris l’espace pour le terminateur Null).

Valeur de retour

Retourne TRUE en cas de réussite, FALSE en cas d’échec.

Notes

Une valeur de couleur HTML est un signe de livre suivi d’une valeur hexadécimale à 6 chiffres à l’aide de 2 chiffres pour chacun des composants rouges, verts et bleus de la couleur (par exemple, #FFFFFF est blanc).

SystemTimeToHttpDate

Appelez cette fonction pour convertir une heure système en une chaîne au format approprié pour être utilisée dans les en-têtes HTTP.

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

Paramètres

st
Heure système à obtenir sous forme de chaîne de format HTTP.

strTime
Référence à une variable de chaîne pour recevoir l’heure de date HTTP telle que définie dans RFC 2616 (https://www.ietf.org/rfc/rfc2616.txt) et RFC 1123 (https://www.ietf.org/rfc/rfc1123.txt).

Voir aussi

Concepts
Composants de bureau COM ATL
InternetCanonicalizeUrl