Compartir a través de


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