Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Observação
A Active Template Library (ATL) continua a ser suportada. No entanto, já não estamos a adicionar funcionalidades nem a atualizar a documentação.
Esta classe representa uma URL. Ele permite que você manipule 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
Esta classe e os seus membros não podem ser usados em aplicações que sejam executadas no Windows Runtime.
Sintaxe
class CUrl
Membros
Construtores Públicos
| Nome | Description |
|---|---|
| CUrl::CUrl | O construtor. |
| CUrl::~CUrl | O destruidor. |
Métodos Públicos
| Nome | Description |
|---|---|
| CUrl::Canonalize | Chame este método para converter a cadeia de URL para a forma canónica. |
| CUrl::Limpo | Chame este método para limpar todos os campos URL. |
| CUrl::CrackUrl | Chame este método para decodificar e analisar a URL. |
| CUrl::CreateUrl | Chame este método para criar a URL. |
| CUrl::GetExtraInfo | Chame este método para obter informação extra (como texto ou texto #) da URL. |
| CUrl::GetExtraInfoLength | Chame este método para obter o comprimento da informação extra (como texto ou # texto) a recuperar da URL. |
| CUrl::GetHostName | Chame este método para obter o nome do host a partir da URL. |
| CUrl::GetHostNameLength | Chame este método para obter o comprimento do nome anfitrião. |
| CUrl::GetPassword | Chame este método para obter a palavra-passe a partir do URL. |
| CUrl::ObténPassoComprimento | Ligue a este método para obter o comprimento da palavra-passe. |
| CUrl::GetPortNumber | Ligue a este método para obter o número de porta em termos de ATL_URL_PORT. |
| CUrl::GetScheme | Chame este método para obter o esquema de URLs. |
| CUrl::GetSchemeName | Chame este método para obter o nome do esquema URL. |
| CUrl::ObtémNomeEsquemaComprimento | Chame este método para obter o comprimento do nome do esquema URL. |
| CUrl::GetUrlLength | Chame este método para obter o comprimento da URL. |
| CUrl::GetUrlPath | Chame este método para obter o caminho da URL. |
| CUrl::GetUrlPathLength | Chame este método para obter o comprimento do caminho da URL. |
| CUrl::ReceberNomeDeUtilizador | Chame este método para obter o nome de utilizador a partir da URL. |
| CUrl::GetUserNameLength | Chame este método para obter o comprimento do nome de utilizador. |
| CUrl::SetExtraInfo | Chame este método para definir a informação extra (como texto ou # texto) da URL. |
| CUrl::SetHostName | Chame este método para definir o nome do anfitrião. |
| CUrl::SetPassword | Chama este método para definir a palavra-passe. |
| CUrl::SetPortNumber | Chame este método para definir o número de porta em termos de ATL_URL_PORT. |
| CUrl::SetScheme | Chame este método para definir o esquema de URL. |
| CUrl::SetSchemeName | Chame este método para definir o nome do esquema URL. |
| CUrl::SetUrlPath | Chame este método para definir o caminho da URL. |
| CUrl::SetUserName | Chame este método para definir o nome de utilizador. |
Operadores Públicos
| Nome | Description |
|---|---|
| CUrl::operator = | Atribui o objeto especificado CUrl ao objeto atual CUrl . |
Observações
CUrl permite manipular os campos de uma URL, como o número de caminho ou porta.
CUrl compreende URLs da seguinte forma:
<Scheme>://<UserName>:<Password>@<HostName>:<PortNumber>/<UrlPath><ExtraInfo>
(Alguns campos são opcionais.) Por exemplo, considere este URL:
http://someone:secret@www.microsoft.com:80/visualc/stuff.htm#contents
CUrl::CrackUrl analisa-o da seguinte forma:
Esquema: "http" ou ATL_URL_SCHEME_HTTP
Nome de Utilizador: "alguém"
Palavra-passe: "secreto"
Nome do Anfitrião: "
www.microsoft.com"Número de porta: 80
UrlPath: "visualc/stuff.htm"
ExtraInfo: "#contents"
Para manipular o campo UrlPath (por exemplo), usarias GetUrlPath, GetUrlPathLength e SetUrlPath. Usarias o CreateUrl para criar a string completa de URL.
Requerimentos
Cabeçalho: atlutil.h
CUrl::Canonalize
Chame este método para converter a cadeia de URL para a forma canónica.
inline BOOL Canonicalize(DWORD dwFlags = 0) throw();
Parâmetros
dwBandeiras
As bandeiras que controlam a canonização. Se não forem especificados flags (dwFlags = 0), o método converte todos os caracteres inseguros e metasequências (como \.,\ .., e \...) em sequências de escape.
dwFlags pode ter um dos seguintes valores:
ATL_URL_BROWSER_MODE: Não codifica nem decodifica caracteres após "#" ou "" e não remove o espaço em branco final após "". Se este valor não for especificado, toda a URL é codificada e o espaço em branco final é removido.
ATL_URL _DECODE: Converte todas as sequências %XX em caracteres, incluindo sequências de escape, antes de a URL ser analisada.
ATL_URL _ENCODE_PERCENT: Codifica quaisquer sinais percentuais encontrados. Por defeito, os sinais percentuais não estão codificados.
ATL_URL _ENCODE_SPACES_ONLY: Codifica apenas espaços.
ATL_URL _NO_ENCODE: Não converte personagens inseguros em sequências de fuga.
ATL_URL _NO_META: Não remove metasequências (como "." e "..") da URL.
Valor de retorno
Retorna VERDADEIRO em caso de sucesso, FALSO em caso de falha.
Observações
Converter para a forma canónica envolve converter caracteres e espaços inseguros em sequências de fuga.
CUrl::Limpo
Chame este método para limpar todos os campos URL.
inline void Clear() throw();
CUrl::CrackUrl
Chame este método para decodificar e analisar a URL.
BOOL CrackUrl(LPCTSTR lpszUrl, DWORD dwFlags = 0) throw();
Parâmetros
lpszUrl
O URL.
dwBandeiras
Especifique ATL_URL_DECODE ou ATL_URL_ESCAPE para converter todos os caracteres de escape em lpszUrl para os seus valores reais após a análise sintática. (Antes do Visual C++ 2005, ATL_URL_DECODE convertia todos os caracteres de escape antes da análise sintática.)
Valor de retorno
Retorna VERDADEIRO em caso de sucesso, FALSO em caso de falha.
CUrl::CreateUrl
Este método constrói uma string de URL a partir dos campos componentes de um objeto CUrl.
inline BOOL CreateUrl(
LPTSTR lpszUrl,
DWORD* pdwMaxLength,
DWORD dwFlags = 0) const throw();
Parâmetros
lpszUrl
Um buffer de string para conter a string URL completa.
pdwMaxLength
O comprimento máximo do buffer de cordas lpszUrl .
dwBandeiras
Especifique ATL_URL_ESCAPE converter todos os caracteres de escape em lpszUrl para os seus valores reais.
Valor de retorno
Retorna VERDADEIRO em caso de sucesso, FALSO em caso de falha.
Observações
Este método acrescenta os seus campos individuais para construir a cadeia URL completa usando o seguinte formato:
<scheme>://<user>:<pass>@<domain>:<><port path><extra>
Ao chamar este método, o parâmetro pdwMaxLength deve inicialmente conter o comprimento máximo do buffer de string referenciado pelo parâmetro lpszUrl . O valor do parâmetro pdwMaxLength será atualizado com o comprimento real da cadeia de URL.
Example
Este exemplo demonstra a criação de um objeto CUrl e a recuperação da sua cadeia 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 CUrl objeto a copiar para criar o URL.
CUrl::~CUrl
O destruidor.
~CUrl() throw();
CUrl::GetExtraInfo
Chame este método para obter informação extra (como texto ou texto #) da URL.
inline LPCTSTR GetExtraInfo() const throw();
Valor de retorno
Devolve uma cadeia contendo a informação extra.
CUrl::GetExtraInfoLength
Chame este método para obter o comprimento da informação extra (como texto ou # texto) a recuperar da URL.
inline DWORD GetExtraInfoLength() const throw();
Valor de retorno
Devolve o comprimento da cadeia que contém a informação extra.
CUrl::GetHostName
Chame este método para obter o nome do host a partir da URL.
inline LPCTSTR GetHostName() const throw();
Valor de retorno
Devolve o nome do anfitrião.
CUrl::GetHostNameLength
Chame este método para obter o comprimento do nome anfitrião.
inline DWORD GetHostNameLength() const throw();
Valor de retorno
Devolve o comprimento do nome do anfitrião.
CUrl::GetPassword
Chame este método para obter a palavra-passe a partir do URL.
inline LPCTSTR GetPassword() const throw();
Valor de retorno
Devolve a palavra-passe.
CUrl::ObténPassoComprimento
Ligue a este método para obter o comprimento da palavra-passe.
inline DWORD GetPasswordLength() const throw();
Valor de retorno
Devolve o comprimento da palavra-passe.
CUrl::GetPortNumber
Ligue para este método para obter o número da porta.
inline ATL_URL_PORT GetPortNumber() const throw();
Valor de retorno
Devolve o número da porta.
CUrl::GetScheme
Chame este método para obter o esquema de URLs.
inline ATL_URL_SCHEME GetScheme() const throw();
Valor de retorno
Devolve o valor ATL_URL_SCHEME que descreve o esquema da URL.
CUrl::GetSchemeName
Chame este método para obter o nome do esquema URL.
inline LPCTSTR GetSchemeName() const throw();
Valor de retorno
Devolve o nome do esquema de URL (como "http" ou "ftp").
CUrl::ObtémNomeEsquemaComprimento
Chame este método para obter o comprimento do nome do esquema URL.
inline DWORD GetSchemeNameLength() const throw();
Valor de retorno
Devolve o comprimento do nome do esquema URL.
CUrl::GetUrlLength
Chame este método para obter o comprimento da URL.
inline DWORD GetUrlLength() const throw();
Valor de retorno
Devolve o comprimento da URL.
CUrl::GetUrlPath
Chame este método para obter o caminho da URL.
inline LPCTSTR GetUrlPath() const throw();
Valor de retorno
Devolve o caminho da URL.
CUrl::GetUrlPathLength
Chame este método para obter o comprimento do caminho da URL.
inline DWORD GetUrlPathLength() const throw();
Valor de retorno
Devolve o comprimento do caminho da URL.
CUrl::ReceberNomeDeUtilizador
Chame este método para obter o nome de utilizador a partir da URL.
inline LPCTSTR GetUserName() const throw();
Valor de retorno
Devolve o nome de utilizador.
CUrl::GetUserNameLength
Chame este método para obter o comprimento do nome de utilizador.
inline DWORD GetUserNameLength() const throw();
Valor de retorno
Devolve o comprimento do nome de utilizador.
CUrl::operator =
Atribui o objeto especificado CUrl ao objeto atual CUrl .
CUrl& operator= (const CUrl& urlThat) throw();
Parâmetros
urlThat
O CUrl objeto a copiar para o objeto atual.
Valor de retorno
Devolve uma referência ao objeto atual.
CUrl::SetExtraInfo
Chame este método para definir a informação extra (como texto ou # texto) da URL.
inline BOOL SetExtraInfo(LPCTSTR lpszInfo) throw();
Parâmetros
lpszInfo
A cadeia que contém a informação extra a incluir no URL.
Valor de retorno
Retorna VERDADEIRO em caso de sucesso, FALSO em caso de falha.
CUrl::SetHostName
Chame este método para definir o nome do anfitrião.
inline BOOL SetHostName(LPCTSTR lpszHost) throw();
Parâmetros
lpszHost
O nome do host.
Valor de retorno
Retorna VERDADEIRO em caso de sucesso, FALSO em caso de falha.
CUrl::SetPassword
Chama este método para definir a palavra-passe.
inline BOOL SetPassword(LPCTSTR lpszPass) throw();
Parâmetros
lpszPass
A senha.
Valor de retorno
Retorna VERDADEIRO em caso de sucesso, FALSO em caso de falha.
CUrl::SetPortNumber
Chame este 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 VERDADEIRO em caso de sucesso, FALSO em caso de falha.
CUrl::SetScheme
Chame este 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 VERDADEIRO em caso de sucesso, FALSO em caso de falha.
Observações
Também pode definir o esquema pelo nome (ver CUrl::SetSchemeName).
CUrl::SetSchemeName
Chame este método para definir o nome do esquema URL.
inline BOOL SetSchemeName(LPCTSTR lpszSchm) throw();
Parâmetros
lpszSchm
O nome do esquema de URLs.
Valor de retorno
Retorna VERDADEIRO em caso de sucesso, FALSO em caso de falha.
Observações
Também pode definir o esquema usando uma constante ATL_URL_SCHEME (ver CUrl::SetScheme).
CUrl::SetUrlPath
Chame este método para definir o caminho da URL.
inline BOOL SetUrlPath(LPCTSTR lpszPath) throw();
Parâmetros
lpszPath
O caminho da URL.
Valor de retorno
Retorna VERDADEIRO em caso de sucesso, FALSO em caso de falha.
CUrl::SetUserName
Chame este método para definir o nome de utilizador.
inline BOOL SetUserName(LPCTSTR lpszUser) throw();
Parâmetros
lpszUser
O nome de usuário.
Valor de retorno
Retorna VERDADEIRO em caso de sucesso, FALSO em caso de falha.