Partilhar via


Classe CUrl

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.

Consulte também

Classes