Partager via


CUrl, classe

Cette classe représente une URL. Il vous permet de manipuler chaque élément de l’URL indépendamment des autres si vous analysez une chaîne d’URL existante ou créez une chaîne à partir de zéro.

Important

Cette classe et ses membres ne peuvent pas être utilisés dans les applications qui s’exécutent dans Windows Runtime.

Syntaxe

class CUrl

Membres

Constructeurs publics

Nom Description
CUrl ::CUrl Constructeur .
CUrl ::~CUrl Destructeur.

Méthodes publiques

Nom Description
CUrl ::Canonicalize Appelez cette méthode pour convertir la chaîne d’URL en forme canonique.
CUrl ::Clear Appelez cette méthode pour effacer tous les champs d’URL.
CUrl ::CrackUrl Appelez cette méthode pour décoder et analyser l’URL.
CUrl ::CreateUrl Appelez cette méthode pour créer l’URL.
CUrl ::GetExtraInfo Appelez cette méthode pour obtenir des informations supplémentaires (telles que du texte ou du texte #) à partir de l’URL.
CUrl ::GetExtraInfoLength Appelez cette méthode pour obtenir la longueur des informations supplémentaires (telles que du texte ou du texte #) à récupérer à partir de l’URL.
CUrl ::GetHostName Appelez cette méthode pour obtenir le nom d’hôte à partir de l’URL.
CUrl ::GetHostNameLength Appelez cette méthode pour obtenir la longueur du nom d’hôte.
CUrl ::GetPassword Appelez cette méthode pour obtenir le mot de passe à partir de l’URL.
CUrl ::GetPasswordLength Appelez cette méthode pour obtenir la longueur du mot de passe.
CUrl ::GetPortNumber Appelez cette méthode pour obtenir le numéro de port en termes de ATL_URL_PORT.
CUrl ::GetScheme Appelez cette méthode pour obtenir le schéma d’URL.
CUrl ::GetSchemeName Appelez cette méthode pour obtenir le nom du schéma d’URL.
CUrl ::GetSchemeNameLength Appelez cette méthode pour obtenir la longueur du nom du schéma d’URL.
CUrl ::GetUrlLength Appelez cette méthode pour obtenir la longueur de l’URL.
CUrl ::GetUrlPath Appelez cette méthode pour obtenir le chemin d’URL.
CUrl ::GetUrlPathLength Appelez cette méthode pour obtenir la longueur du chemin d’URL.
CUrl ::GetUserName Appelez cette méthode pour obtenir le nom d’utilisateur à partir de l’URL.
CUrl ::GetUserNameLength Appelez cette méthode pour obtenir la longueur du nom d’utilisateur.
CUrl ::SetExtraInfo Appelez cette méthode pour définir les informations supplémentaires (telles que du texte ou du texte #) de l’URL.
CUrl ::SetHostName Appelez cette méthode pour définir le nom d’hôte.
CUrl ::SetPassword Appelez cette méthode pour définir le mot de passe.
CUrl ::SetPortNumber Appelez cette méthode pour définir le numéro de port en termes de ATL_URL_PORT.
CUrl ::SetScheme Appelez cette méthode pour définir le schéma d’URL.
CUrl ::SetSchemeName Appelez cette méthode pour définir le nom du schéma d’URL.
CUrl ::SetUrlPath Appelez cette méthode pour définir le chemin d’URL.
CUrl ::SetUserName Appelez cette méthode pour définir le nom d’utilisateur.

Opérateurs publics

Nom Description
CUrl ::operator = Affecte l’objet spécifié CUrl à l’objet actif CUrl .

Notes

CUrl vous permet de manipuler les champs d’une URL, tels que le chemin d’accès ou le numéro de port. CUrl comprend les URL du formulaire suivant :

<Scheme> ://<UserName> :<Password>@<HostName> :<PortNumber>/<UrlPath><ExtraInfo>

(Certains champs sont facultatifs.) Par exemple, considérez cette URL :

http://someone:secret@www.microsoft.com:80/visualc/stuff.htm#contents

CUrl ::CrackUrl l’analyse comme suit :

  • Schéma : « http » ou ATL_URL_SCHEME_HTTP

  • UserName : « quelqu’un »

  • Mot de passe : « secret »

  • HostName : « www.microsoft.com »

  • Numéro de port : 80

  • UrlPath : « visualc/stuff.htm »

  • ExtraInfo : « #contents »

Pour manipuler le champ UrlPath (par exemple), vous utiliseriez GetUrlPath, GetUrlPathLength et SetUrlPath. Vous devez utiliser CreateUrl pour créer la chaîne d’URL complète.

Spécifications

En-tête : atlutil.h

CUrl ::Canonicalize

Appelez cette méthode pour convertir la chaîne d’URL en forme canonique.

inline BOOL Canonicalize(DWORD dwFlags = 0) throw();

Paramètres

dwFlags
Indicateurs qui contrôlent la canonisation. Si aucun indicateur n’est spécifié (dwFlags = 0), la méthode convertit tous les caractères et séquences meta non sécurisés (comme \.,\ .., et \...) en séquences d’échappement. dwFlags peut être l’une des valeurs suivantes :

  • 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 : encode 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 les espaces uniquement.

  • 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 méta (telles que « » et « . . ») de l’URL.

Valeur de retour

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

Notes

La conversion en forme canonique implique la conversion de caractères et d’espaces non sécurisés en séquences d’échappement.

CUrl ::Clear

Appelez cette méthode pour effacer tous les champs d’URL.

inline void Clear() throw();

CUrl ::CrackUrl

Appelez cette méthode pour décoder et analyser l’URL.

BOOL CrackUrl(LPCTSTR lpszUrl, DWORD dwFlags = 0) throw();

Paramètres

lpszUrl
URL.

dwFlags
Spécifiez ATL_URL_DECODE ou ATL_URL_ESCAPE pour convertir tous les caractères d’échappement dans lpszUrl en leurs valeurs réelles après l’analyse. (Avant Visual C++ 2005, ATL_URL_DECODE converti tous les caractères d’échappement avant l’analyse.)

Valeur de retour

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

CUrl ::CreateUrl

Cette méthode construit une chaîne d’URL à partir des champs de composant d’un objet CUrl.

inline BOOL CreateUrl(
    LPTSTR lpszUrl,
    DWORD* pdwMaxLength,
    DWORD dwFlags = 0) const throw();

Paramètres

lpszUrl
Mémoire tampon de chaîne pour contenir la chaîne d’URL complète.

pdwMaxLength
Longueur maximale de la mémoire tampon de chaîne lpszUrl .

dwFlags
Spécifiez ATL_URL_ESCAPE pour convertir tous les caractères d’échappement dans lpszUrl en leurs valeurs réelles.

Valeur de retour

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

Notes

Cette méthode ajoute ses champs individuels pour construire la chaîne d’URL complète au format suivant :

<scheme> ://<user> :<pass>@<domain> :<port><path><extra>

Lors de l’appel de cette méthode, le paramètre pdwMaxLength doit initialement contenir la longueur maximale de la mémoire tampon de chaîne référencée par le paramètre lpszUrl . La valeur du paramètre pdwMaxLength est mise à jour avec la longueur réelle de la chaîne d’URL.

Exemple

Cet exemple illustre la création d’un objet CUrl et la récupération de sa chaîne d’URL

CUrl url;

// Set the CUrl contents
url.CrackUrl(_T("http://someone:secret@www.microsoft.com:8080/visualc/stuff.htm#contents"));

// Obtain the length of the URL string and allocate a buffer to 
// hold its contents
DWORD dwUrlLen = url.GetUrlLength() + 1;
TCHAR* szUrl = new TCHAR[dwUrlLen];

// Retrieve the contents of the CUrl object
url.CreateUrl(szUrl, &dwUrlLen, 0L);

// Cleanup
delete[] szUrl;   

CUrl ::CUrl

Constructeur .

CUrl() throw();
CUrl(const CUrl& urlThat) throw();

Paramètres

urlThat
Objet CUrl à copier pour créer l’URL.

CUrl ::~CUrl

Destructeur.

~CUrl() throw();

CUrl ::GetExtraInfo

Appelez cette méthode pour obtenir des informations supplémentaires (telles que du texte ou du texte #) à partir de l’URL.

inline LPCTSTR GetExtraInfo() const throw();

Valeur de retour

Retourne une chaîne contenant les informations supplémentaires.

CUrl ::GetExtraInfoLength

Appelez cette méthode pour obtenir la longueur des informations supplémentaires (telles que du texte ou du texte #) à récupérer à partir de l’URL.

inline DWORD GetExtraInfoLength() const throw();

Valeur de retour

Retourne la longueur de la chaîne contenant les informations supplémentaires.

CUrl ::GetHostName

Appelez cette méthode pour obtenir le nom d’hôte à partir de l’URL.

inline LPCTSTR GetHostName() const throw();

Valeur de retour

Retourne le nom d’hôte.

CUrl ::GetHostNameLength

Appelez cette méthode pour obtenir la longueur du nom d’hôte.

inline DWORD GetHostNameLength() const throw();

Valeur de retour

Retourne la longueur du nom d’hôte.

CUrl ::GetPassword

Appelez cette méthode pour obtenir le mot de passe à partir de l’URL.

inline LPCTSTR GetPassword() const throw();

Valeur de retour

Retourne le mot de passe.

CUrl ::GetPasswordLength

Appelez cette méthode pour obtenir la longueur du mot de passe.

inline DWORD GetPasswordLength() const throw();

Valeur de retour

Retourne la longueur du mot de passe.

CUrl ::GetPortNumber

Appelez cette méthode pour obtenir le numéro de port.

inline ATL_URL_PORT GetPortNumber() const throw();

Valeur de retour

Retourne le numéro de port.

CUrl ::GetScheme

Appelez cette méthode pour obtenir le schéma d’URL.

inline ATL_URL_SCHEME GetScheme() const throw();

Valeur de retour

Retourne la valeur ATL_URL_SCHEME décrivant le schéma de l’URL.

CUrl ::GetSchemeName

Appelez cette méthode pour obtenir le nom du schéma d’URL.

inline LPCTSTR GetSchemeName() const throw();

Valeur de retour

Retourne le nom du schéma d’URL (par exemple, « http » ou « ftp »).

CUrl ::GetSchemeNameLength

Appelez cette méthode pour obtenir la longueur du nom du schéma d’URL.

inline DWORD GetSchemeNameLength() const throw();

Valeur de retour

Retourne la longueur du nom du schéma d’URL.

CUrl ::GetUrlLength

Appelez cette méthode pour obtenir la longueur de l’URL.

inline DWORD GetUrlLength() const throw();

Valeur de retour

Retourne la longueur de l’URL.

CUrl ::GetUrlPath

Appelez cette méthode pour obtenir le chemin d’URL.

inline LPCTSTR GetUrlPath() const throw();

Valeur de retour

Retourne le chemin d’URL.

CUrl ::GetUrlPathLength

Appelez cette méthode pour obtenir la longueur du chemin d’URL.

inline DWORD GetUrlPathLength() const throw();

Valeur de retour

Retourne la longueur du chemin d’accès d’URL.

CUrl ::GetUserName

Appelez cette méthode pour obtenir le nom d’utilisateur à partir de l’URL.

inline LPCTSTR GetUserName() const throw();

Valeur de retour

Retourne le nom d’utilisateur.

CUrl ::GetUserNameLength

Appelez cette méthode pour obtenir la longueur du nom d’utilisateur.

inline DWORD GetUserNameLength() const throw();

Valeur de retour

Retourne la longueur du nom d’utilisateur.

CUrl ::operator =

Affecte l’objet spécifié CUrl à l’objet actif CUrl .

CUrl& operator= (const CUrl& urlThat) throw();

Paramètres

urlThat
Objet CUrl à copier dans l’objet actif.

Valeur de retour

Retourne une référence à l'objet actif.

CUrl ::SetExtraInfo

Appelez cette méthode pour définir les informations supplémentaires (telles que du texte ou du texte #) de l’URL.

inline BOOL SetExtraInfo(LPCTSTR lpszInfo) throw();

Paramètres

lpszInfo
Chaîne contenant les informations supplémentaires à inclure dans l’URL.

Valeur de retour

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

CUrl ::SetHostName

Appelez cette méthode pour définir le nom d’hôte.

inline BOOL SetHostName(LPCTSTR lpszHost) throw();

Paramètres

lpszHost
Nom d’hôte.

Valeur de retour

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

CUrl ::SetPassword

Appelez cette méthode pour définir le mot de passe.

inline BOOL SetPassword(LPCTSTR lpszPass) throw();

Paramètres

lpszPass
Mot de passe.

Valeur de retour

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

CUrl ::SetPortNumber

Appelez cette méthode pour définir le numéro de port.

inline BOOL SetPortNumber(ATL_URL_PORT nPrt) throw();

Paramètres

nPrt
Numéro de port.

Valeur de retour

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

CUrl ::SetScheme

Appelez cette méthode pour définir le schéma d’URL.

inline BOOL SetScheme(ATL_URL_SCHEME nScheme) throw();

Paramètres

nScheme
Une des valeurs ATL_URL_SCHEME pour le schéma.

Valeur de retour

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

Notes

Vous pouvez également définir le schéma par nom (voir CUrl ::SetSchemeName).

CUrl ::SetSchemeName

Appelez cette méthode pour définir le nom du schéma d’URL.

inline BOOL SetSchemeName(LPCTSTR lpszSchm) throw();

Paramètres

lpszSchm
Nom du schéma d’URL.

Valeur de retour

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

Notes

Vous pouvez également définir le schéma à l’aide d’une constante ATL_URL_SCHEME (voir CUrl ::SetScheme).

CUrl ::SetUrlPath

Appelez cette méthode pour définir le chemin d’URL.

inline BOOL SetUrlPath(LPCTSTR lpszPath) throw();

Paramètres

lpszPath
Chemin d’accès de l’URL.

Valeur de retour

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

CUrl ::SetUserName

Appelez cette méthode pour définir le nom d’utilisateur.

inline BOOL SetUserName(LPCTSTR lpszUser) throw();

Paramètres

lpszUser
Nom d'utilisateur.

Valeur de retour

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

Voir aussi

Classes