Clase CUrl
Esta clase representa una dirección URL. Permite manipular cada elemento de la dirección URL independientemente del resto, tanto si se analiza una cadena de dirección URL existente como si se crea una cadena desde cero.
Importante
Esta clase y sus miembros no se pueden usar en las aplicaciones que se ejecutan en Windows Runtime.
Sintaxis
class CUrl
Miembros
Constructores públicos
Nombre | Descripción |
---|---|
CUrl::CUrl | Constructor . |
CUrl::~CUrl | El destructor . |
Métodos públicos
Nombre | Descripción |
---|---|
CUrl::Canonicalize | Llame a este método para convertir la cadena URL al formato canónico. |
CUrl::Clear | Llame a este método para borrar todos los campos de dirección URL. |
CUrl::CrackUrl | Llame a este método para descodificar y analizar la dirección URL. |
CUrl::CreateUrl | Llame a este método para crear un la URL. |
CUrl::GetExtraInfo | Llame a este método para obtener información adicional (como texto o # texto) desde la URL. |
CUrl::GetExtraInfoLength | Llame a este método para obtener la longitud de la información adicional (como texto o # texto) para recuperar de la URL. |
CUrl::GetHostName | Llame a este método para obtener el nombre del host de la dirección URL. |
CUrl::GetHostNameLength | Llame a este método para obtener la longitud del nombre de host. |
CUrl::GetPassword | Llame a este método para obtener la contraseña de la dirección URL. |
CUrl::GetPasswordLength | Llame a este método para obtener la longitud de la contraseña. |
CUrl::GetPortNumber | Llame a este método para obtener el número de puerto en términos de ATL_URL_PORT. |
CUrl::GetScheme | Llame a este método para obtener el esquema de la URL. |
CUrl::GetSchemeName | Llame a este método para obtener el nombre de esquema de la URL. |
CUrl::GetSchemeNameLength | Llame a este método para obtener la longitud del nombre de esquema de la URL. |
CUrl::GetUrlLength | Llame a este método para obtener la longitud de la URL. |
CUrl::GetUrlPath | Llame a este método para obtener la ruta de acceso de la URL. |
CUrl::GetUrlPathLength | Llame a este método para obtener la longitud de la ruta de acceso de la URL. |
CUrl::GetUserName | Llame a este método para obtener el nombre de usuario de la dirección URL. |
CUrl::GetUserNameLength | Llame a este método para obtener la longitud del nombre de usuario. |
CUrl::SetExtraInfo | Llame a este método para establecer información adicional (como texto o # texto) de la URL. |
CUrl::SetHostName | Llame a este método para establecer el nombre de host. |
CUrl::SetPassword | Llame a este método para establecer la contraseña. |
CUrl::SetPortNumber | Llame a este método para establecer el número de puerto en términos de ATL_URL_PORT. |
CUrl::SetScheme | Llame a este método para establecer el esquema de la URL. |
CUrl::SetSchemeName | Llame a este método para establecer el nombre del esquema de la URL. |
CUrl::SetUrlPath | Llame a este método para establecer la ruta de acceso del esquema de la URL. |
CUrl::SetUserName | Llame a este método para establecer el nombre de usuario. |
Operadores públicos
Nombre | Descripción |
---|---|
CUrl::operator = | Asigna el objeto especificado CUrl al objeto actual CUrl . |
Comentarios
CUrl
permite manipular los campos de una dirección URL, como la ruta de acceso o el número de puerto. CUrl
comprende las direcciones URL con el formato siguiente:
<Scheme>://<UserName>:<Password>@<HostName>:<PortNumber>/<UrlPath><ExtraInfo>
(Algunos campos son opcionales). Por ejemplo, considere esta dirección URL:
http://someone:secret@www.microsoft.com:80/visualc/stuff.htm#contents
CUrl::CrackUrl lo analiza de la siguiente manera:
Esquema: "http" o ATL_URL_SCHEME_HTTP
UserName: "alguien"
Contraseña: "secreto"
HostName: "
www.microsoft.com
"PortNumber: 80
UrlPath: "visualc/stuff.htm"
ExtraInfo: "#contents"
Para manipular el campo UrlPath (por ejemplo), se usaría GetUrlPath, GetUrlPathLength y SetUrlPath. Se usaría CreateUrl para crear la cadena de dirección URL completa.
Requisitos
Header: atlutil.h
CUrl::Canonicalize
Llame a este método para convertir la cadena URL al formato canónico.
inline BOOL Canonicalize(DWORD dwFlags = 0) throw();
Parámetros
dwFlags
Marcas que controlan la canonización. Si no se especifica ninguna marca (dwFlags = 0), el método convierte todos los caracteres no seguros y las secuencias meta (como \.,\ .., y \...) en secuencias de escape. dwFlags puede tener uno de los siguientes valores:
ATL_URL_BROWSER_MODE: no codifica ni descodifica los caracteres después de "#" o "" y no quita el espacio en blanco final después de "". Si no se especifica este valor, se codifica toda la dirección URL y se quita el espacio en blanco final.
ATL_URL _DECODE: convierte todas las secuencias %XX en caracteres, incluidas las secuencias de escape, antes de analizar la dirección URL.
ATL_URL _ENCODE_PERCENT: codifica los signos de porcentaje encontrados. De forma predeterminada, los signos de porcentaje no están codificados.
ATL_URL _ENCODE_SPACES_ONLY: codifica solamente espacios.
ATL_URL _NO_ENCODE: no convierte caracteres no seguros en secuencias de escape.
ATL_URL _NO_META: no quita las secuencias meta (como "." y "..") de la dirección URL.
Valor devuelto
Devuelve TRUE si la operación se realiza correctamente; de lo contrario, devuelve FALSE.
Comentarios
La conversión en formato canónico implica el convertir caracteres y espacios no seguros en secuencias de escape.
CUrl::Clear
Llame a este método para borrar todos los campos de dirección URL.
inline void Clear() throw();
CUrl::CrackUrl
Llame a este método para descodificar y analizar la dirección URL.
BOOL CrackUrl(LPCTSTR lpszUrl, DWORD dwFlags = 0) throw();
Parámetros
lpszUrl
La dirección URL.
dwFlags
Especifique ATL_URL_DECODE o ATL_URL_ESCAPE para convertir todos los caracteres de escape en lpszUrl en sus valores reales después del análisis. (Antes de Visual C++ 2005, ATL_URL_DECODE convertía todos los caracteres de escape antes de analizar).
Valor devuelto
Devuelve TRUE si la operación se realiza correctamente; de lo contrario, devuelve FALSE.
CUrl::CreateUrl
Este método construye una cadena URL a partir de los campos componentes de un objeto CUrl.
inline BOOL CreateUrl(
LPTSTR lpszUrl,
DWORD* pdwMaxLength,
DWORD dwFlags = 0) const throw();
Parámetros
lpszUrl
Búfer de cadena que contiene la cadena URL completa.
pdwMaxLength
Longitud máxima del búfer de cadena lpszUrl.
dwFlags
Especifique ATL_URL_ESCAPE para convertir todos los caracteres de escape en lpszUrl en sus valores.
Valor devuelto
Devuelve TRUE si la operación se realiza correctamente; de lo contrario, devuelve FALSE.
Comentarios
Este método anexa sus campos individuales a fin de construir la cadena URL completa con el siguiente formato:
<scheme>://<user>:<pass>@<domain>:<port><path><extra>
Al llamar a este método, el parámetro pdwMaxLength debe contener inicialmente la longitud máxima del búfer de cadena al que hace referencia el parámetro lpszUrl. El valor del parámetro pdwMaxLength se actualizará con la longitud real de la cadena URL.
Ejemplo
En este ejemplo se muestra la creación de un objeto CUrl y la recuperación de su cadena 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
Constructor .
CUrl() throw();
CUrl(const CUrl& urlThat) throw();
Parámetros
urlThat
Objeto CUrl
que se va a copiar para crear la dirección URL.
CUrl::~CUrl
El destructor .
~CUrl() throw();
CUrl::GetExtraInfo
Llame a este método para obtener información adicional (como texto o # texto) desde la URL.
inline LPCTSTR GetExtraInfo() const throw();
Valor devuelto
Devuelve una cadena que contiene la información adicional.
CUrl::GetExtraInfoLength
Llame a este método para obtener la longitud de la información adicional (como texto o # texto) para recuperar de la URL.
inline DWORD GetExtraInfoLength() const throw();
Valor devuelto
Devuelve la longitud de la cadena que contiene la información adicional.
CUrl::GetHostName
Llame a este método para obtener el nombre del host de la dirección URL.
inline LPCTSTR GetHostName() const throw();
Valor devuelto
Devuelve el nombre de host.
CUrl::GetHostNameLength
Llame a este método para obtener la longitud del nombre de host.
inline DWORD GetHostNameLength() const throw();
Valor devuelto
Devuelve la longitud del nombre de host.
CUrl::GetPassword
Llame a este método para obtener la contraseña de la dirección URL.
inline LPCTSTR GetPassword() const throw();
Valor devuelto
Devuelve la contraseña.
CUrl::GetPasswordLength
Llame a este método para obtener la longitud de la contraseña.
inline DWORD GetPasswordLength() const throw();
Valor devuelto
Devuelve la longitud de la contraseña.
CUrl::GetPortNumber
Llame a este método para obtener el número de puerto.
inline ATL_URL_PORT GetPortNumber() const throw();
Valor devuelto
Devuelve el número de puerto.
CUrl::GetScheme
Llame a este método para obtener el esquema de la URL.
inline ATL_URL_SCHEME GetScheme() const throw();
Valor devuelto
Devuelve el valor ATL_URL_SCHEME que describe el esquema de la URL.
CUrl::GetSchemeName
Llame a este método para obtener el nombre de esquema de la URL.
inline LPCTSTR GetSchemeName() const throw();
Valor devuelto
Devuelve el nombre del esquema de la URL (por ejemplo, "http" o "ftp").
CUrl::GetSchemeNameLength
Llame a este método para obtener la longitud del nombre de esquema de la URL.
inline DWORD GetSchemeNameLength() const throw();
Valor devuelto
Devuelve la longitud del nombre del esquema de la URL.
CUrl::GetUrlLength
Llame a este método para obtener la longitud de la URL.
inline DWORD GetUrlLength() const throw();
Valor devuelto
Devuelve la longitud de la dirección URL.
CUrl::GetUrlPath
Llame a este método para obtener la ruta de acceso de la URL.
inline LPCTSTR GetUrlPath() const throw();
Valor devuelto
Devuelve la ruta de acceso de la dirección URL.
CUrl::GetUrlPathLength
Llame a este método para obtener la longitud de la ruta de acceso de la URL.
inline DWORD GetUrlPathLength() const throw();
Valor devuelto
Devuelve la longitud de la ruta de acceso de la dirección URL.
CUrl::GetUserName
Llame a este método para obtener el nombre de usuario de la dirección URL.
inline LPCTSTR GetUserName() const throw();
Valor devuelto
Devuelve el nombre de usuario.
CUrl::GetUserNameLength
Llame a este método para obtener la longitud del nombre de usuario.
inline DWORD GetUserNameLength() const throw();
Valor devuelto
Devuelve la longitud del nombre de usuario.
CUrl::operator =
Asigna el objeto especificado CUrl
al objeto actual CUrl
.
CUrl& operator= (const CUrl& urlThat) throw();
Parámetros
urlThat
Objeto CUrl
que se va a copiar al objeto actual.
Valor devuelto
Devuelve una referencia al objeto actual.
CUrl::SetExtraInfo
Llame a este método para establecer información adicional (como texto o # texto) de la URL.
inline BOOL SetExtraInfo(LPCTSTR lpszInfo) throw();
Parámetros
lpszInfo
Cadena que contiene la información adicional que se va a incluir en la dirección URL.
Valor devuelto
Devuelve TRUE si la operación se realiza correctamente; de lo contrario, devuelve FALSE.
CUrl::SetHostName
Llame a este método para establecer el nombre de host.
inline BOOL SetHostName(LPCTSTR lpszHost) throw();
Parámetros
lpszHost
El nombre de host.
Valor devuelto
Devuelve TRUE si la operación se realiza correctamente; de lo contrario, devuelve FALSE.
CUrl::SetPassword
Llame a este método para establecer la contraseña.
inline BOOL SetPassword(LPCTSTR lpszPass) throw();
Parámetros
lpszPass
La contraseña.
Valor devuelto
Devuelve TRUE si la operación se realiza correctamente; de lo contrario, devuelve FALSE.
CUrl::SetPortNumber
Llame a este método para establecer el número de puerto.
inline BOOL SetPortNumber(ATL_URL_PORT nPrt) throw();
Parámetros
nPrt
Número del puerto.
Valor devuelto
Devuelve TRUE si la operación se realiza correctamente; de lo contrario, devuelve FALSE.
CUrl::SetScheme
Llame a este método para establecer el esquema de la URL.
inline BOOL SetScheme(ATL_URL_SCHEME nScheme) throw();
Parámetros
nScheme
Uno de los valores de ATL_URL_SCHEME para el esquema.
Valor devuelto
Devuelve TRUE si la operación se realiza correctamente; de lo contrario, devuelve FALSE.
Comentarios
También se puede establecer el esquema por nombre (consulte CUrl::SetSchemeName).
CUrl::SetSchemeName
Llame a este método para establecer el nombre del esquema de la URL.
inline BOOL SetSchemeName(LPCTSTR lpszSchm) throw();
Parámetros
lpszSchm
Nombre de esquema de la URL.
Valor devuelto
Devuelve TRUE si la operación se realiza correctamente; de lo contrario, devuelve FALSE.
Comentarios
También se puede establecer el esquema mediante una constante ATL_URL_SCHEME (consulte CUrl::SetScheme).
CUrl::SetUrlPath
Llame a este método para establecer la ruta de acceso del esquema de la URL.
inline BOOL SetUrlPath(LPCTSTR lpszPath) throw();
Parámetros
lpszPath
Ruta de acceso de la URL.
Valor devuelto
Devuelve TRUE si la operación se realiza correctamente; de lo contrario, devuelve FALSE.
CUrl::SetUserName
Llame a este método para establecer el nombre de usuario.
inline BOOL SetUserName(LPCTSTR lpszUser) throw();
Parámetros
lpszUser
Nombre de usuario.
Valor devuelto
Devuelve TRUE si la operación se realiza correctamente; de lo contrario, devuelve FALSE.