Classe CUrl
Essa classe representa uma URL. Ela permite manipular cada elemento da URL independentemente dos outros, seja analisando uma cadeia de caracteres de URL existente ou criando uma cadeia de caracteres do zero.
Importante
Essa classe e os respectivos membros não podem ser usados em aplicativos executados no Windows Runtime.
Sintaxe
class CUrl
Membros
Construtores públicos
Nome | Descrição |
---|---|
CUrl::CUrl | O construtor . |
CUrl::~CUrl | O destruidor. |
Métodos públicos
Nome | Descrição |
---|---|
CUrl::Canonicalize | Chame esse método para converter a cadeia de caracteres da URL para a forma canônica. |
CUrl::Clear | Chame esse método para limpar todos os campos de URL. |
CUrl::CrackUrl | Chame esse método para decodificar e analisar a URL. |
CUrl::CreateUrl | Chame esse método para criar a URL. |
CUrl::GetExtraInfo | Chame esse método para obter informações extras (como texto ou texto #) da URL. |
CUrl::GetExtraInfoLength | Chame esse método para obter o comprimento das informações extras (como texto ou texto #) para recuperar da URL. |
CUrl::GetHostName | Chame esse método para obter o nome do host da URL. |
CUrl::GetHostNameLength | Chame esse método para obter o comprimento do nome do host. |
CUrl::GetPassword | Chame esse método para obter a senha da URL. |
CUrl::GetPasswordLength | Chame esse método para obter o comprimento da senha. |
CUrl::GetPortNumber | Chame esse método para obter o número da porta em termos de ATL_URL_PORT. |
CUrl::GetScheme | Chame esse método para obter o esquema de URL. |
CUrl::GetSchemeName | Chame esse método para obter o nome do esquema de URL. |
CUrl::GetSchemeNameLength | Chame esse método para obter o comprimento nome do esquema de URL. |
CUrl::GetUrlLength | Chame esse método para obter o comprimento da URL. |
CUrl::GetUrlPath | Chame esse método para obter o caminho da URL. |
CUrl::GetUrlPathLength | Chame esse método para obter o comprimento do caminho da URL. |
CUrl::GetUserName | Chame esse método para obter o nome do usuário da URL. |
CUrl::GetUserNameLength | Chame esse método para obter o comprimento do nome do usuário. |
CUrl::SetExtraInfo | Chame esse método para definir as informações extras (como texto ou texto #) da URL. |
CUrl::SetHostName | Chame esse método para definir o nome do host. |
CUrl::SetPassword | Chame esse método para definir a senha. |
CUrl::SetPortNumber | Chame esse método para definir o número da porta em termos de ATL_URL_PORT. |
CUrl::SetScheme | Chame esse método para definir o esquema de URL. |
CUrl::SetSchemeName | Chame esse método para definir o nome do esquema de URL. |
CUrl::SetUrlPath | Chame esse método para definir o caminho de URL. |
CUrl::SetUserName | Chame esse método para definir o nome do usuário. |
Operadores públicos
Nome | Descrição |
---|---|
CUrl::operator = | Atribui o objeto CUrl especificado ao objeto CUrl atual. |
Comentários
CUrl
permite manipular os campos de uma URL, como o caminho ou o número da porta. CUrl
compreende URLs do seguinte formulário:
<Scheme>://<UserName>:<Password>@<HostName>:<PortNumber>/<UrlPath><ExtraInfo>
(Alguns campos são opcionais.) Por exemplo, considere esta URL:
http://someone:secret@www.microsoft.com:80/visualc/stuff.htm#contents
CUrl::CrackUrl a analisa da seguinte maneira:
Esquema: "http" ou ATL_URL_SCHEME_HTTP
UserName: "someone"
Senha: "secret"
HostName: "
www.microsoft.com
"PortNumber: 80
UrlPath: "visualc/stuff.htm"
ExtraInfo: "#contents"
Para manipular o campo UrlPath (por exemplo), você usaria GetUrlPath, GetUrlPathLength e SetUrlPath. Você usaria CreateUrl para criar a cadeia de caracteres de URL completa.
Requisitos
Cabeçalho: atlutil.h
CUrl::Canonicalize
Chame esse método para converter a cadeia de caracteres da URL para a forma canônica.
inline BOOL Canonicalize(DWORD dwFlags = 0) throw();
Parâmetros
dwFlags
Os sinalizadores que controlam a canonização. Se nenhum sinalizador for especificado (dwFlags = 0), o método converterá todos os caracteres não seguros e meta sequências (como \.,\ .., e \...) em sequências de escape. dwFlags pode ter um dos seguintes valores:
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 _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
A conversão em forma canônica envolve a conversão de caracteres e espaços não seguros em sequências de escape.
CUrl::Clear
Chame esse método para limpar todos os campos de URL.
inline void Clear() throw();
CUrl::CrackUrl
Chame esse método para decodificar e analisar a URL.
BOOL CrackUrl(LPCTSTR lpszUrl, DWORD dwFlags = 0) throw();
Parâmetros
lpszUrl
A URL .
dwFlags
Especifique ATL_URL_DECODE ou ATL_URL_ESCAPE para converter todos os caracteres de escape em lpszUrl em seus valores reais após a análise. (Antes do Visual C++ 2005, ATL_URL_DECODE convertia todos os caracteres de escape antes da análise.)
Valor de retorno
Retorna TRUE em caso de êxito. FALSE, em caso de falha.
CUrl::CreateUrl
Esse método constrói uma cadeia de caracteres de URL dos campos de componente de um objeto CUrl.
inline BOOL CreateUrl(
LPTSTR lpszUrl,
DWORD* pdwMaxLength,
DWORD dwFlags = 0) const throw();
Parâmetros
lpszUrl
Um buffer de cadeia de caracteres para manter a cadeia de caracteres de URL completa.
pdwMaxLength
O comprimento máximo do buffer de cadeia de caracteres lpszUrl.
dwFlags
Especifique ATL_URL_ESCAPE para converter todos os caracteres de escape em lpszUrl em seus valores reais.
Valor de retorno
Retorna TRUE em caso de êxito. FALSE, em caso de falha.
Comentários
Esse método acrescenta seus campos individuais para construir a cadeia de caracteres de URL completa usando o seguinte formato:
<scheme>://<user>:<pass>@<domain>:<port><path><extra>
Ao chamar esse método, o parâmetro pdwMaxLength deve inicialmente conter o comprimento máximo do buffer de cadeia de caracteres referenciado pelo parâmetro lpszUrl. O valor do parâmetro pdwMaxLength será atualizado com o comprimento real da cadeia de caracteres de URL.
Exemplo
Este exemplo demonstra a criação de um objeto CUrl e a recuperação de sua cadeia de caracteres de 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
O construtor .
CUrl() throw();
CUrl(const CUrl& urlThat) throw();
Parâmetros
urlThat
O objeto CUrl
a ser copiado para criar a URL.
CUrl::~CUrl
O destruidor.
~CUrl() throw();
CUrl::GetExtraInfo
Chame esse método para obter informações extras (como texto ou texto #) da URL.
inline LPCTSTR GetExtraInfo() const throw();
Valor de retorno
Retorna uma cadeia de caracteres que contém as informações extras.
CUrl::GetExtraInfoLength
Chame esse método para obter o comprimento das informações extras (como texto ou texto #) para recuperar da URL.
inline DWORD GetExtraInfoLength() const throw();
Valor de retorno
Retorna o comprimento da cadeia de caracteres que contém as informações extras.
CUrl::GetHostName
Chame esse método para obter o nome do host da URL.
inline LPCTSTR GetHostName() const throw();
Valor de retorno
Retorna o nome do host.
CUrl::GetHostNameLength
Chame esse método para obter o comprimento do nome do host.
inline DWORD GetHostNameLength() const throw();
Valor de retorno
Retorna o comprimento do nome do host.
CUrl::GetPassword
Chame esse método para obter a senha da URL.
inline LPCTSTR GetPassword() const throw();
Valor de retorno
Retorna a senha.
CUrl::GetPasswordLength
Chame esse método para obter o comprimento da senha.
inline DWORD GetPasswordLength() const throw();
Valor de retorno
Retorna o comprimento da senha.
CUrl::GetPortNumber
Chame esse método para obter o número da porta.
inline ATL_URL_PORT GetPortNumber() const throw();
Valor de retorno
Retorna o número da porta.
CUrl::GetScheme
Chame esse método para obter o esquema de URL.
inline ATL_URL_SCHEME GetScheme() const throw();
Valor de retorno
Retorna o valor ATL_URL_SCHEME que descreve o esquema da URL.
CUrl::GetSchemeName
Chame esse método para obter o nome do esquema de URL.
inline LPCTSTR GetSchemeName() const throw();
Valor de retorno
Retorna o nome do esquema de URL (como "http" ou "ftp").
CUrl::GetSchemeNameLength
Chame esse método para obter o comprimento nome do esquema de URL.
inline DWORD GetSchemeNameLength() const throw();
Valor de retorno
Retorna o tamanho do nome do esquema de URL.
CUrl::GetUrlLength
Chame esse método para obter o comprimento da URL.
inline DWORD GetUrlLength() const throw();
Valor de retorno
Retorna o comprimento da URL.
CUrl::GetUrlPath
Chame esse método para obter o caminho da URL.
inline LPCTSTR GetUrlPath() const throw();
Valor de retorno
Retorna o caminho da URL.
CUrl::GetUrlPathLength
Chame esse método para obter o comprimento do caminho da URL.
inline DWORD GetUrlPathLength() const throw();
Valor de retorno
Retorna o comprimento do caminho da URL.
CUrl::GetUserName
Chame esse método para obter o nome do usuário da URL.
inline LPCTSTR GetUserName() const throw();
Valor de retorno
Retorna nome do usuário.
CUrl::GetUserNameLength
Chame esse método para obter o comprimento do nome do usuário.
inline DWORD GetUserNameLength() const throw();
Valor de retorno
Retorna comprimento do nome do usuário.
CUrl::operator =
Atribui o objeto CUrl
especificado ao objeto CUrl
atual.
CUrl& operator= (const CUrl& urlThat) throw();
Parâmetros
urlThat
O objeto CUrl
a ser copiado para o objeto atual.
Valor de retorno
Retorna uma referência ao objeto atual.
CUrl::SetExtraInfo
Chame esse método para definir as informações extras (como texto ou texto #) da URL.
inline BOOL SetExtraInfo(LPCTSTR lpszInfo) throw();
Parâmetros
lpszInfo
A cadeia de caracteres que contém as informações extras a serem incluídas na URL.
Valor de retorno
Retorna TRUE em caso de êxito. FALSE, em caso de falha.
CUrl::SetHostName
Chame esse método para definir o nome do host.
inline BOOL SetHostName(LPCTSTR lpszHost) throw();
Parâmetros
lpszHost
O nome de host.
Valor de retorno
Retorna TRUE em caso de êxito. FALSE, em caso de falha.
CUrl::SetPassword
Chame esse método para definir a senha.
inline BOOL SetPassword(LPCTSTR lpszPass) throw();
Parâmetros
lpszPass
A senha.
Valor de retorno
Retorna TRUE em caso de êxito. FALSE, em caso de falha.
CUrl::SetPortNumber
Chame esse método para definir o número da porta.
inline BOOL SetPortNumber(ATL_URL_PORT nPrt) throw();
Parâmetros
nPrt
O número da porta.
Valor de retorno
Retorna TRUE em caso de êxito. FALSE, em caso de falha.
CUrl::SetScheme
Chame esse método para definir o esquema de URL.
inline BOOL SetScheme(ATL_URL_SCHEME nScheme) throw();
Parâmetros
nScheme
Um dos valores ATL_URL_SCHEME para o esquema.
Valor de retorno
Retorna TRUE em caso de êxito. FALSE, em caso de falha.
Comentários
Você também pode definir o esquema por nome (consulte CUrl::SetSchemeName).
CUrl::SetSchemeName
Chame esse método para definir o nome do esquema de URL.
inline BOOL SetSchemeName(LPCTSTR lpszSchm) throw();
Parâmetros
lpszSchm
O nome do esquema de URL.
Valor de retorno
Retorna TRUE em caso de êxito. FALSE, em caso de falha.
Comentários
Você também pode definir o esquema usando uma constante ATL_URL_SCHEME (consulte CUrl::SetScheme).
CUrl::SetUrlPath
Chame esse método para definir o caminho de URL.
inline BOOL SetUrlPath(LPCTSTR lpszPath) throw();
Parâmetros
lpszPath
O caminho da URL.
Valor de retorno
Retorna TRUE em caso de êxito. FALSE, em caso de falha.
CUrl::SetUserName
Chame esse método para definir o nome do usuário.
inline BOOL SetUserName(LPCTSTR lpszUser) throw();
Parâmetros
lpszUser
O nome do usuário.
Valor de retorno
Retorna TRUE em caso de êxito. FALSE, em caso de falha.