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.