Funções de utilitário de HTTP da ATL
Essas funções dão suporte à manipulação de URLs.
Função | Descrição |
---|---|
AtlCanonicalizeUrl | Canonicaliza uma URL, que inclui a conversão de caracteres e espaços desprotegidos em sequências de escape. |
AtlCombineUrl | Combina uma URL de base e uma URL relativa em uma única URL canônica. |
AtlEscapeUrl | Converte todos os caracteres desprotegidos em sequências de escape. |
AtlGetDefaultUrlPort | Obtém o número da porta padrão associada a um IP ou esquema específico. |
AtlIsUnsafeUrlChar | Determina se um caractere é seguro para uso em uma URL. |
AtlUnescapeUrl | Converte caracteres de escape de volta aos valores originais. |
RGBToHtml | Converte um valor COLORREF no texto HTML correspondente ao valor da cor. |
SystemTimeToHttpDate | Chame essa função para converter uma hora do sistema em uma cadeia de caracteres em um formato adequado para uso em cabeçalhos HTTP. |
Requisitos
Cabeçalho: atlutil.h
AtlCanonicalizeUrl
Chame essa função para canonizar uma URL, o que inclui converter caracteres e espaços não seguros em sequências de escape.
inline BOOL AtlCanonicalizeUrl(
LPCTSTR szUrl,
LPTSTR szCanonicalized,
DWORD* pdwMaxLength,
DWORD dwFlags = 0) throw();
Parâmetros
szUrl
A URL a ser canonizada.
szCanonicalized
Buffer alocado pelo chamador para receber a URL canônica.
pdwMaxLength
O ponteiro para uma variável que contém o comprimento em caracteres de szCanonicalized. Se a função for bem-sucedida, a variável receberá o número de caracteres gravados no buffer, incluindo o caractere nulo final. Se a função falhar, a variável receberá o comprimento necessário em bytes do buffer, incluindo espaço para o caractere nulo final.
dwFlags
Os sinalizadores ATL_URL que controlam o comportamento dessa função.
ATL_URL_BROWSER_MODE não codifica ou decodifica caracteres após "#" ou "?" e não remove o espaço em branco à direita após "?". Se esse valor não for especificado, toda a URL será codificada e o espaço em branco à direita será removido.
ATL_URL_DECODE converte todas as sequências %XX em caracteres, incluindo sequências de escape, antes que a URL seja analisada.
ATL_URL_ENCODE_PERCENT codifica qualquer sinal de porcentagem encontrado. Por padrão, os sinais de porcentagem não são codificados.
ATL_URL_ENCODE_SPACES_ONLY codifica apenas espaços.
ATL_URL_ESCAPE converte todas as sequências de escape (%XX) nos caracteres correspondentes.
ATL_URL_NO_ENCODE não converte caracteres não seguros em sequências de escape.
ATL_URL_NO_META não remove sequências meta (como "." e "..") da URL.
Valor de retorno
Retorna TRUE em caso de êxito. FALSE, em caso de falha.
Comentários
Comporta-se como a versão atual do InternetCanonicalizeUrl, mas não exige que o WinInet ou o Internet Explorer sejam instalados.
AtlCombineUrl
Chame essa função para combinar uma URL de base e uma URL relativa em uma única URL canônica.
inline BOOL AtlCombineUrl(
LPCTSTR szBaseUrl,
LPCTSTR szRelativeUrl,
LPTSTR szBuffer,
DWORD* pdwMaxLength,
DWORD dwFlags = 0) throw();
Parâmetros
szBaseUrl
A URL base.
szRelativeUrl
A URL relativa à URL base.
szBuffer
Buffer alocado pelo chamador para receber a URL canônica.
pdwMaxLength
O ponteiro para uma variável que contém o comprimento em caracteres de szBuffer. Se a função for bem-sucedida, a variável receberá o número de caracteres gravados no buffer, incluindo o caractere nulo final. Se a função falhar, a variável receberá o comprimento necessário em bytes do buffer, incluindo espaço para o caractere nulo final.
dwFlags
Os sinalizadores que controlam o comportamento dessa função. Confira AtlCanonicalizeUrl.
Valor de retorno
Retorna TRUE em caso de êxito. FALSE, em caso de falha.
Comentários
Comporta-se como a versão atual do InternetCombineUrl, mas não exige que o WinInet ou o Internet Explorer sejam instalados.
AtlEscapeUrl
Chame essa função para converter todos os caracteres não seguros em sequências 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
A URL a ser convertida.
lpszStringOut
Buffer alocado pelo chamador no qual a URL convertida será gravada.
pdwStrLen
Ponteiro para uma variável DWORD. Se a função for bem-sucedida, pdwStrLen receberá o número de caracteres gravados no buffer, incluindo o caractere nulo final. Se a função falhar, a variável receberá o comprimento necessário em bytes do buffer, incluindo espaço para o caractere nulo final. Ao usar a versão de caractere largo desse método, pdwStrLen recebe o número de caracteres necessários, não o número de bytes.
dwMaxLength
O tamanho do buffer lpszStringOut.
dwFlags
Os sinalizadores ATL_URL que controlam o comportamento dessa função. Veja os valores possíveis em ATLCanonicalizeUrl.
Valor de retorno
Retorna TRUE em caso de êxito. FALSE, em caso de falha.
AtlGetDefaultUrlPort
Chame essa função para obter o número da porta padrão associado a um IP ou esquema específico.
inline ATL_URL_PORT AtlGetDefaultUrlPort(ATL_URL_SCHEME m_nScheme) throw();
Parâmetros
m_nScheme
O valor ATL_URL_SCHEME que identifica o esquema para o qual você deseja obter o número da porta.
Valor de retorno
O ATL_URL_PORT associado ao esquema especificado ou ATL_URL_INVALID_PORT_NUMBER se o esquema não for reconhecido.
AtlIsUnsafeUrlChar
Chame essa função para descobrir se um caractere é seguro para uso em uma URL.
inline BOOL AtlIsUnsafeUrlChar(char chIn) throw();
Parâmetros
chIn
O caractere cuja segurança será testada.
Valor de retorno
Retorna TRUE se o caractere de entrada não for seguro. Caso contrário, FALSE.
Comentários
Os caracteres que não devem ser usados em URLs podem ser testados usando essa função e convertidos usando AtlCanonicalizeUrl.
AtlUnescapeUrl
Chame essa função para converter caracteres de escape de volta aos valores originais.
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
A URL a ser convertida.
lpszStringOut
Buffer alocado pelo chamador no qual a URL convertida será gravada.
pdwStrLen
Ponteiro para uma variável DWORD. Se a função for bem-sucedida, a variável receberá o número de caracteres gravados no buffer, incluindo o caractere nulo final. Se a função falhar, a variável receberá o comprimento necessário em bytes do buffer, incluindo espaço para o caractere nulo final.
dwMaxLength
O tamanho do buffer lpszStringOut.
Valor de retorno
Retorna TRUE em caso de êxito. FALSE, em caso de falha.
Comentários
Inverte o processo de conversão aplicado por AtlEscapeUrl.
RGBToHtml
Converte um valor COLORREF no texto HTML correspondente ao valor da cor.
bool inline RGBToHtml(
COLORREF color,
LPTSTR pbOut,
long nBuffer);
Parâmetros
color
Um valor para a cor RGB.
pbOut
Buffer alocado pelo chamador para receber o texto do valor de cor HTML. O buffer deve ter espaço para pelo menos 8 caracteres, incluindo espaço para o terminador nulo).
nBuffer
O tamanho em bytes do buffer (incluindo espaço para o terminador nulo).
Valor de retorno
Retorna TRUE em caso de êxito. FALSE, em caso de falha.
Comentários
Um valor de cor HTML é um sinal de libra seguido por um valor hexadecimal de seis dígitos usando dois dígitos para cada um dos componentes vermelho, verde e azul da cor (por exemplo, #FFFFFF é branco).
SystemTimeToHttpDate
Chame essa função para converter uma hora do sistema em uma cadeia de caracteres em um formato adequado para uso em cabeçalhos HTTP.
inline void SystemTimeToHttpDate(
const SYSTEMTIME& st,
CStringA& strTime);
Parâmetros
St
O tempo do sistema a ser obtido como uma cadeia de caracteres de formato HTTP.
strTime
Uma referência a uma variável de cadeia de caracteres para receber a data e hora HTTP conforme definido na RFC 2616 (https://www.ietf.org/rfc/rfc2616.txt) e RFC 1123 (https://www.ietf.org/rfc/rfc1123.txt).
Confira também
Conceitos
Componentes de área de trabalho COM da ATL
InternetCanonicalizeUrl