Funciones de utilidad HTTP de ATL
Estas funciones admiten la manipulación de direcciones URL.
Función | Descripción |
---|---|
AtlCanonicalizeUrl | Convierte en canónica una dirección URL, que incluye la conversión de espacios y caracteres no seguros en secuencias de escape. |
AtlCombineUrl | Combina una dirección URL base y una dirección URL relativa en una única dirección URL canónica. |
AtlEscapeUrl | Convierte todos los caracteres no seguros en secuencias de escape. |
AtlGetDefaultUrlPort | Obtiene el número de puerto predeterminado asociado a un protocolo de Internet o un esquema específicos. |
AtlIsUnsafeUrlChar | Determina si un carácter es seguro para usarlo en una dirección URL. |
AtlUnescapeUrl | Convierte de nuevo los caracteres de escape en sus valores originales. |
RGBToHtml | Convierte un valor COLORREF en el texto HTLM correspondiente a ese valor de color. |
SystemTimeToHttpDate | Llame a esta función para convertir una hora del sistema en una cadena con un formato adecuado para usarla en encabezados HTTP. |
Requisitos
Header: atlutil.h
AtlCanonicalizeUrl
Llame a esta función para canonizar una dirección URL, que incluye la conversión de espacios y caracteres no seguros en secuencias de escape.
inline BOOL AtlCanonicalizeUrl(
LPCTSTR szUrl,
LPTSTR szCanonicalized,
DWORD* pdwMaxLength,
DWORD dwFlags = 0) throw();
Parámetros
szUrl
Dirección URL que se va convertir en canónica.
szCanonicalized
Búfer asignado por el autor de la llamada para recibir la dirección URL canónica.
pdwMaxLength
Puntero a una variable que contiene la longitud en caracteres de szCanonicalized. Si la función se ejecuta correctamente, la variable recibe el número de caracteres escritos en el búfer, incluido el carácter nulo de terminación. Si se produce un error en la función, la variable recibe la longitud necesaria en bytes del búfer, incluido el espacio para el carácter nulo de terminación.
dwFlags
Marcas ATL_URL que controlan el comportamiento de esta función.
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_ESCAPE: convierte todas las secuencias de escape (%XX) en sus caracteres correspondientes.
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
Se comporta como la versión actual de InternetCanonicalizeUrl, pero no requiere que WinInet o Internet Explorer estén instalados.
AtlCombineUrl
Llame a esta función para combinar una dirección URL base y una dirección URL relativa en una única dirección URL canónica.
inline BOOL AtlCombineUrl(
LPCTSTR szBaseUrl,
LPCTSTR szRelativeUrl,
LPTSTR szBuffer,
DWORD* pdwMaxLength,
DWORD dwFlags = 0) throw();
Parámetros
szBaseUrl
Dirección URL base.
szRelativeUrl
Dirección URL relativa a la dirección URL base.
szBuffer
Búfer asignado por el autor de la llamada para recibir la dirección URL canónica.
pdwMaxLength
Puntero a una variable que contiene la longitud en caracteres de szBuffer. Si la función se ejecuta correctamente, la variable recibe el número de caracteres escritos en el búfer, incluido el carácter nulo de terminación. Si se produce un error en la función, la variable recibe la longitud necesaria en bytes del búfer, incluido el espacio para el carácter nulo de terminación.
dwFlags
Marcas que controlan el comportamiento de esta función. See AtlCanonicalizeUrl.
Valor devuelto
Devuelve TRUE si la operación se realiza correctamente; de lo contrario, devuelve FALSE.
Comentarios
Se comporta como la versión actual de InternetCombineUrl, pero no requiere que WinInet o Internet Explorer estén instalados.
AtlEscapeUrl
Llame a esta función para convertir todos los caracteres no seguros en secuencias de escape.
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();
Parámetros
lpszStringIn
Dirección URL que se va a convertir.
lpszStringOut
Búfer asignado por el autor de la llamada en el que se escribirá la dirección URL convertida.
pdwStrLen
Puntero a una variable DWORD. Si la función se ejecuta correctamente, pdwStrLen recibe el número de caracteres escritos en el búfer, incluido el carácter nulo de terminación. Si se produce un error en la función, la variable recibe la longitud necesaria en bytes del búfer, incluido el espacio para el carácter nulo de terminación. Cuando se usa la versión de caracteres anchos de este método, pdwStrLen recibe el número de caracteres necesarios, no el número de bytes.
dwMaxLength
Tamaño del búfer lpszStringOut.
dwFlags
Marcas ATL_URL que controlan el comportamiento de esta función. Consulte ATLCanonicalizeUrl para conocer los posibles valores.
Valor devuelto
Devuelve TRUE si la operación se realiza correctamente; de lo contrario, devuelve FALSE.
AtlGetDefaultUrlPort
Llame a esta función para obtener el número de puerto predeterminado asociado a un protocolo de Internet o un esquema específicos.
inline ATL_URL_PORT AtlGetDefaultUrlPort(ATL_URL_SCHEME m_nScheme) throw();
Parámetros
m_nScheme
Valor ATL_URL_SCHEME que identifica el esquema para el que desea obtener el número de puerto.
Valor devuelto
El ATL_URL_PORT asociado al esquema especificado o ATL_URL_INVALID_PORT_NUMBER si no se reconoce el esquema.
AtlIsUnsafeUrlChar
Llame a esta función para comprobar si un carácter es seguro para usarlo en una dirección URL.
inline BOOL AtlIsUnsafeUrlChar(char chIn) throw();
Parámetros
chIn
Carácter que se va a probar para la seguridad.
Valor devuelto
Devuelve TRUE si el carácter de entrada no es seguro, FALSE de lo contrario.
Comentarios
Los caracteres que no se deben usar en las direcciones URL se pueden probar con esta función y convertirse mediante AtlCanonicalizeUrl.
AtlUnescapeUrl
Llame a esta función para convertir de nuevo los caracteres de escape en sus valores originales.
inline BOOL AtlUnescapeUrl(
LPCSTR szStringIn,
LPSTR szStringOut,
LPDWORD pdwStrLen,
DWORD dwMaxLength) throw();
inline BOOL AtlUnescapeUrl(
LPCWSTR szStringIn,
LPWSTR szStringOut,
LPDWORD pdwStrLen,
DWORD dwMaxLength) throw();
Parámetros
lpszStringIn
Dirección URL que se va a convertir.
lpszStringOut
Búfer asignado por el autor de la llamada en el que se escribirá la dirección URL convertida.
pdwStrLen
Puntero a una variable DWORD. Si la función se ejecuta correctamente, la variable recibe el número de caracteres escritos en el búfer, incluido el carácter nulo de terminación. Si se produce un error en la función, la variable recibe la longitud necesaria en bytes del búfer, incluido el espacio para el carácter nulo de terminación.
dwMaxLength
Tamaño del búfer lpszStringOut.
Valor devuelto
Devuelve TRUE si la operación se realiza correctamente; de lo contrario, devuelve FALSE.
Comentarios
Invierte el proceso de conversión aplicado por AtlEscapeUrl.
RGBToHtml
Convierte un valor COLORREF en el texto HTLM correspondiente a ese valor de color.
bool inline RGBToHtml(
COLORREF color,
LPTSTR pbOut,
long nBuffer);
Parámetros
color
Un valor de color RGB.
pbOut
Búfer asignado por el autor de la llamada para recibir el texto del valor de color HTML. El búfer debe tener espacio para al menos 8 caracteres, incluido el espacio para el terminador null.
nBuffer
Tamaño en bytes del búfer (incluido el espacio para el terminador nul).
Valor devuelto
Devuelve TRUE si la operación se realiza correctamente; de lo contrario, devuelve FALSE.
Comentarios
Un valor de color HTML es un signo de libra seguido de un valor hexadecimal de 6 dígitos con 2 dígitos para cada componente rojo, verde y azul del color (por ejemplo, #FFFFFF es blanco).
SystemTimeToHttpDate
Llame a esta función para convertir una hora del sistema en una cadena con un formato adecuado para usarla en encabezados HTTP.
inline void SystemTimeToHttpDate(
const SYSTEMTIME& st,
CStringA& strTime);
Parámetros
st
Hora del sistema que se va a obtener como una cadena de formato HTTP.
strTime
Referencia a una variable de cadena para recibir la fecha y hora HTTP tal como se define en RFC 2616 (https://www.ietf.org/rfc/rfc2616.txt) y RFC 1123 (https://www.ietf.org/rfc/rfc1123.txt).
Consulte también
Conceptos
Componentes de escritorio COM de ATL
InternetCanonicalizeUrl