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.
class CUrl
Nombre | Descripción |
---|---|
CUrl::CUrl | Constructor . |
CUrl::~CUrl | El destructor . |
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. |
Nombre | Descripción |
---|---|
CUrl::operator = | Asigna el objeto especificado CUrl al objeto actual CUrl . |
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.
Header: atlutil.h
Llame a este método para convertir la cadena URL al formato canónico.
inline BOOL Canonicalize(DWORD dwFlags = 0) throw();
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.
Devuelve TRUE si la operación se realiza correctamente; de lo contrario, devuelve FALSE.
La conversión en formato canónico implica el convertir caracteres y espacios no seguros en secuencias de escape.
Llame a este método para borrar todos los campos de dirección URL.
inline void Clear() throw();
Llame a este método para descodificar y analizar la dirección URL.
BOOL CrackUrl(LPCTSTR lpszUrl, DWORD dwFlags = 0) throw();
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).
Devuelve TRUE si la operación se realiza correctamente; de lo contrario, devuelve FALSE.
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();
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.
Devuelve TRUE si la operación se realiza correctamente; de lo contrario, devuelve FALSE.
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.
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;
Constructor .
CUrl() throw();
CUrl(const CUrl& urlThat) throw();
urlThat
Objeto CUrl
que se va a copiar para crear la dirección URL.
El destructor .
~CUrl() throw();
Llame a este método para obtener información adicional (como texto o # texto) desde la URL.
inline LPCTSTR GetExtraInfo() const throw();
Devuelve una cadena que contiene la información adicional.
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();
Devuelve la longitud de la cadena que contiene la información adicional.
Llame a este método para obtener el nombre del host de la dirección URL.
inline LPCTSTR GetHostName() const throw();
Devuelve el nombre de host.
Llame a este método para obtener la longitud del nombre de host.
inline DWORD GetHostNameLength() const throw();
Devuelve la longitud del nombre de host.
Llame a este método para obtener la contraseña de la dirección URL.
inline LPCTSTR GetPassword() const throw();
Devuelve la contraseña.
Llame a este método para obtener la longitud de la contraseña.
inline DWORD GetPasswordLength() const throw();
Devuelve la longitud de la contraseña.
Llame a este método para obtener el número de puerto.
inline ATL_URL_PORT GetPortNumber() const throw();
Devuelve el número de puerto.
Llame a este método para obtener el esquema de la URL.
inline ATL_URL_SCHEME GetScheme() const throw();
Devuelve el valor ATL_URL_SCHEME que describe el esquema de la URL.
Llame a este método para obtener el nombre de esquema de la URL.
inline LPCTSTR GetSchemeName() const throw();
Devuelve el nombre del esquema de la URL (por ejemplo, "http" o "ftp").
Llame a este método para obtener la longitud del nombre de esquema de la URL.
inline DWORD GetSchemeNameLength() const throw();
Devuelve la longitud del nombre del esquema de la URL.
Llame a este método para obtener la longitud de la URL.
inline DWORD GetUrlLength() const throw();
Devuelve la longitud de la dirección URL.
Llame a este método para obtener la ruta de acceso de la URL.
inline LPCTSTR GetUrlPath() const throw();
Devuelve la ruta de acceso de la dirección URL.
Llame a este método para obtener la longitud de la ruta de acceso de la URL.
inline DWORD GetUrlPathLength() const throw();
Devuelve la longitud de la ruta de acceso de la dirección URL.
Llame a este método para obtener el nombre de usuario de la dirección URL.
inline LPCTSTR GetUserName() const throw();
Devuelve el nombre de usuario.
Llame a este método para obtener la longitud del nombre de usuario.
inline DWORD GetUserNameLength() const throw();
Devuelve la longitud del nombre de usuario.
Asigna el objeto especificado CUrl
al objeto actual CUrl
.
CUrl& operator= (const CUrl& urlThat) throw();
urlThat
Objeto CUrl
que se va a copiar al objeto actual.
Devuelve una referencia al objeto actual.
Llame a este método para establecer información adicional (como texto o # texto) de la URL.
inline BOOL SetExtraInfo(LPCTSTR lpszInfo) throw();
lpszInfo
Cadena que contiene la información adicional que se va a incluir en la dirección URL.
Devuelve TRUE si la operación se realiza correctamente; de lo contrario, devuelve FALSE.
Llame a este método para establecer el nombre de host.
inline BOOL SetHostName(LPCTSTR lpszHost) throw();
lpszHost
El nombre de host.
Devuelve TRUE si la operación se realiza correctamente; de lo contrario, devuelve FALSE.
Llame a este método para establecer la contraseña.
inline BOOL SetPassword(LPCTSTR lpszPass) throw();
lpszPass
La contraseña.
Devuelve TRUE si la operación se realiza correctamente; de lo contrario, devuelve FALSE.
Llame a este método para establecer el número de puerto.
inline BOOL SetPortNumber(ATL_URL_PORT nPrt) throw();
nPrt
Número del puerto.
Devuelve TRUE si la operación se realiza correctamente; de lo contrario, devuelve FALSE.
Llame a este método para establecer el esquema de la URL.
inline BOOL SetScheme(ATL_URL_SCHEME nScheme) throw();
nScheme
Uno de los valores de ATL_URL_SCHEME para el esquema.
Devuelve TRUE si la operación se realiza correctamente; de lo contrario, devuelve FALSE.
También se puede establecer el esquema por nombre (consulte CUrl::SetSchemeName).
Llame a este método para establecer el nombre del esquema de la URL.
inline BOOL SetSchemeName(LPCTSTR lpszSchm) throw();
lpszSchm
Nombre de esquema de la URL.
Devuelve TRUE si la operación se realiza correctamente; de lo contrario, devuelve FALSE.
También se puede establecer el esquema mediante una constante ATL_URL_SCHEME (consulte CUrl::SetScheme).
Llame a este método para establecer la ruta de acceso del esquema de la URL.
inline BOOL SetUrlPath(LPCTSTR lpszPath) throw();
lpszPath
Ruta de acceso de la URL.
Devuelve TRUE si la operación se realiza correctamente; de lo contrario, devuelve FALSE.
Llame a este método para establecer el nombre de usuario.
inline BOOL SetUserName(LPCTSTR lpszUser) throw();
lpszUser
Nombre de usuario.
Devuelve TRUE si la operación se realiza correctamente; de lo contrario, devuelve FALSE.