Classe CUrl

Questa classe rappresenta un URL. Consente di modificare ogni elemento dell'URL indipendentemente dagli altri se analizzare una stringa URL esistente o creare una stringa da zero.

Importante

Questa classe e i relativi membri non possono essere usati nelle applicazioni eseguite in Windows Runtime.

Sintassi

class CUrl

Membri

Costruttori pubblici

Nome Descrizione
CUrl::CUrl Costruttore.
CUrl::~CUrl Distruttore.

Metodi pubblici

Nome Descrizione
CUrl::Canonicalize Chiamare questo metodo per convertire la stringa URL in formato canonico.
CUrl::Clear Chiamare questo metodo per cancellare tutti i campi URL.
CUrl::CrackUrl Chiamare questo metodo per decodificare e analizzare l'URL.
CUrl::CreateUrl Chiamare questo metodo per creare l'URL.
CUrl::GetExtraInfo Chiamare questo metodo per ottenere informazioni aggiuntive, ad esempio testo o # text, dall'URL.
CUrl::GetExtraInfoLength Chiamare questo metodo per ottenere la lunghezza delle informazioni aggiuntive (ad esempio testo o # ) da recuperare dall'URL.
CUrl::GetHostName Chiamare questo metodo per ottenere il nome host dall'URL.
CUrl::GetHostNameLength Chiamare questo metodo per ottenere la lunghezza del nome host.
CUrl::GetPassword Chiamare questo metodo per ottenere la password dall'URL.
CUrl::GetPasswordLength Chiamare questo metodo per ottenere la lunghezza della password.
CUrl::GetPortNumber Chiamare questo metodo per ottenere il numero di porta in termini di ATL_URL_PORT.
CUrl::GetScheme Chiamare questo metodo per ottenere lo schema URL.
CUrl::GetSchemeName Chiamare questo metodo per ottenere il nome dello schema URL.
CUrl::GetSchemeNameLength Chiamare questo metodo per ottenere la lunghezza del nome dello schema URL.
CUrl::GetUrlLength Chiamare questo metodo per ottenere la lunghezza dell'URL.
CUrl::GetUrlPath Chiamare questo metodo per ottenere il percorso URL.
CUrl::GetUrlPathLength Chiamare questo metodo per ottenere la lunghezza del percorso URL.
CUrl::GetUserName Chiamare questo metodo per ottenere il nome utente dall'URL.
CUrl::GetUserNameLength Chiamare questo metodo per ottenere la lunghezza del nome utente.
CUrl::SetExtraInfo Chiamare questo metodo per impostare le informazioni aggiuntive ,ad esempio testo o # testo, dell'URL.
CUrl::SetHostName Chiamare questo metodo per impostare il nome host.
CUrl::SetPassword Chiamare questo metodo per impostare la password.
CUrl::SetPortNumber Chiamare questo metodo per impostare il numero di porta in termini di ATL_URL_PORT.
CUrl::SetScheme Chiamare questo metodo per impostare lo schema URL.
CUrl::SetSchemeName Chiamare questo metodo per impostare il nome dello schema URL.
CUrl::SetUrlPath Chiamare questo metodo per impostare il percorso URL.
CUrl::SetUserName Chiamare questo metodo per impostare il nome utente.

Operatori pubblici

Nome Descrizione
CUrl::operator = Assegna l'oggetto specificato CUrl all'oggetto corrente CUrl .

Osservazioni:

CUrl consente di modificare i campi di un URL, ad esempio il percorso o il numero di porta. CUrl comprende gli URL del formato seguente:

<Scheme>://<UserName>:<Password>@<HostName>:<PortNumber>/<UrlPath><ExtraInfo>

Alcuni campi sono facoltativi. Si consideri ad esempio questo URL:

http://someone:secret@www.microsoft.com:80/visualc/stuff.htm#contents

CUrl::CrackUrl lo analizza come segue:

  • Schema: "http" o ATL_URL_SCHEME_HTTP

  • UserName: "someone"

  • Password: "secret"

  • HostName: "www.microsoft.com"

  • PortNumber: 80

  • UrlPath: "visualc/stuff.htm"

  • ExtraInfo: "#contents"

Per modificare il campo UrlPath,ad esempio, è necessario usare GetUrlPath, GetUrlPathLength e SetUrlPath. Usare CreateUrl per creare la stringa url completa.

Requisiti

Intestazione: atlutil.h

CUrl::Canonicalize

Chiamare questo metodo per convertire la stringa URL in formato canonico.

inline BOOL Canonicalize(DWORD dwFlags = 0) throw();

Parametri

dwFlags
Flag che controllano la canonizzazione. Se non vengono specificati flag (dwFlags = 0), il metodo converte tutti i caratteri non sicuri e le sequenze meta (ad esempio \.,\ ..e \...) in sequenze di escape. dwFlags può essere uno dei valori seguenti:

  • ATL_URL_BROWSER_MODE: non codifica o decodifica i caratteri dopo "#" o "" e non rimuove gli spazi vuoti finali dopo "". Se questo valore non viene specificato, l'intero URL viene codificato e lo spazio vuoto finale viene rimosso.

  • ATL_URL _DECODE: converte tutte le sequenze %XX in caratteri, incluse le sequenze di escape, prima dell'analisi dell'URL.

  • ATL_URL _ENCODE_PERCENT: codifica i segni di percentuale rilevati. Per impostazione predefinita, i segni di percentuale non vengono codificati.

  • ATL_URL _ENCODE_SPACES_ONLY: codifica solo gli spazi.

  • ATL_URL _NO_ENCODE: non converte i caratteri non sicuri in sequenze di escape.

  • ATL_URL _NO_META: non rimuove le sequenze meta (ad esempio "." e "..") dall'URL.

Valore restituito

Restituisce TRUE in caso di esito positivo, FALSE in caso di errore.

Osservazioni:

La conversione in formato canonico comporta la conversione di caratteri non sicuri e spazi in sequenze di escape.

CUrl::Clear

Chiamare questo metodo per cancellare tutti i campi URL.

inline void Clear() throw();

CUrl::CrackUrl

Chiamare questo metodo per decodificare e analizzare l'URL.

BOOL CrackUrl(LPCTSTR lpszUrl, DWORD dwFlags = 0) throw();

Parametri

lpszUrl
URL .

dwFlags
Specificare ATL_URL_DECODE o ATL_URL_ESCAPE per convertire tutti i caratteri di escape in lpszUrl nei valori reali dopo l'analisi. Prima di Visual C++ 2005, ATL_URL_DECODE convertito tutti i caratteri di escape prima dell'analisi.

Valore restituito

Restituisce TRUE in caso di esito positivo, FALSE in caso di errore.

CUrl::CreateUrl

Questo metodo costruisce una stringa URL dai campi componente di un oggetto CUrl.

inline BOOL CreateUrl(
    LPTSTR lpszUrl,
    DWORD* pdwMaxLength,
    DWORD dwFlags = 0) const throw();

Parametri

lpszUrl
Buffer di stringa per contenere la stringa URL completa.

pdwMaxLength
Lunghezza massima del buffer di stringa lpszUrl .

dwFlags
Specificare ATL_URL_ESCAPE per convertire tutti i caratteri di escape in lpszUrl nei valori reali.

Valore restituito

Restituisce TRUE in caso di esito positivo, FALSE in caso di errore.

Osservazioni:

Questo metodo aggiunge i singoli campi per costruire la stringa URL completa usando il formato seguente:

<scheme>://<user>:<pass>@<domain>:<port><path><extra>

Quando si chiama questo metodo, il parametro pdwMaxLength deve inizialmente contenere la lunghezza massima del buffer stringa a cui fa riferimento il parametro lpszUrl . Il valore del parametro pdwMaxLength verrà aggiornato con la lunghezza effettiva della stringa URL.

Esempio

Questo esempio illustra la creazione di un oggetto CUrl e il recupero della relativa stringa 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

Costruttore.

CUrl() throw();
CUrl(const CUrl& urlThat) throw();

Parametri

urlAt
Oggetto CUrl da copiare per creare l'URL.

CUrl::~CUrl

Distruttore.

~CUrl() throw();

CUrl::GetExtraInfo

Chiamare questo metodo per ottenere informazioni aggiuntive, ad esempio testo o # text, dall'URL.

inline LPCTSTR GetExtraInfo() const throw();

Valore restituito

Restituisce una stringa contenente le informazioni aggiuntive.

CUrl::GetExtraInfoLength

Chiamare questo metodo per ottenere la lunghezza delle informazioni aggiuntive (ad esempio testo o # ) da recuperare dall'URL.

inline DWORD GetExtraInfoLength() const throw();

Valore restituito

Restituisce la lunghezza della stringa contenente le informazioni aggiuntive.

CUrl::GetHostName

Chiamare questo metodo per ottenere il nome host dall'URL.

inline LPCTSTR GetHostName() const throw();

Valore restituito

Restituisce il nome host.

CUrl::GetHostNameLength

Chiamare questo metodo per ottenere la lunghezza del nome host.

inline DWORD GetHostNameLength() const throw();

Valore restituito

Restituisce la lunghezza del nome host.

CUrl::GetPassword

Chiamare questo metodo per ottenere la password dall'URL.

inline LPCTSTR GetPassword() const throw();

Valore restituito

Restituisce la password.

CUrl::GetPasswordLength

Chiamare questo metodo per ottenere la lunghezza della password.

inline DWORD GetPasswordLength() const throw();

Valore restituito

Restituisce la lunghezza della password.

CUrl::GetPortNumber

Chiamare questo metodo per ottenere il numero di porta.

inline ATL_URL_PORT GetPortNumber() const throw();

Valore restituito

Restituisce il numero di porta.

CUrl::GetScheme

Chiamare questo metodo per ottenere lo schema URL.

inline ATL_URL_SCHEME GetScheme() const throw();

Valore restituito

Restituisce il valore ATL_URL_SCHEME che descrive lo schema dell'URL.

CUrl::GetSchemeName

Chiamare questo metodo per ottenere il nome dello schema URL.

inline LPCTSTR GetSchemeName() const throw();

Valore restituito

Restituisce il nome dello schema URL, ad esempio "http" o "ftp".

CUrl::GetSchemeNameLength

Chiamare questo metodo per ottenere la lunghezza del nome dello schema URL.

inline DWORD GetSchemeNameLength() const throw();

Valore restituito

Restituisce la lunghezza del nome dello schema URL.

CUrl::GetUrlLength

Chiamare questo metodo per ottenere la lunghezza dell'URL.

inline DWORD GetUrlLength() const throw();

Valore restituito

Restituisce la lunghezza dell'URL.

CUrl::GetUrlPath

Chiamare questo metodo per ottenere il percorso URL.

inline LPCTSTR GetUrlPath() const throw();

Valore restituito

Restituisce il percorso URL.

CUrl::GetUrlPathLength

Chiamare questo metodo per ottenere la lunghezza del percorso URL.

inline DWORD GetUrlPathLength() const throw();

Valore restituito

Restituisce la lunghezza del percorso URL.

CUrl::GetUserName

Chiamare questo metodo per ottenere il nome utente dall'URL.

inline LPCTSTR GetUserName() const throw();

Valore restituito

Restituisce il nome utente.

CUrl::GetUserNameLength

Chiamare questo metodo per ottenere la lunghezza del nome utente.

inline DWORD GetUserNameLength() const throw();

Valore restituito

Restituisce la lunghezza del nome utente.

CUrl::operator =

Assegna l'oggetto specificato CUrl all'oggetto corrente CUrl .

CUrl& operator= (const CUrl& urlThat) throw();

Parametri

urlAt
Oggetto CUrl da copiare nell'oggetto corrente.

Valore restituito

Restituisce un riferimento all'oggetto corrente.

CUrl::SetExtraInfo

Chiamare questo metodo per impostare le informazioni aggiuntive ,ad esempio testo o # testo, dell'URL.

inline BOOL SetExtraInfo(LPCTSTR lpszInfo) throw();

Parametri

lpszInfo
Stringa contenente le informazioni aggiuntive da includere nell'URL.

Valore restituito

Restituisce TRUE in caso di esito positivo, FALSE in caso di errore.

CUrl::SetHostName

Chiamare questo metodo per impostare il nome host.

inline BOOL SetHostName(LPCTSTR lpszHost) throw();

Parametri

lpszHost
Nome host.

Valore restituito

Restituisce TRUE in caso di esito positivo, FALSE in caso di errore.

CUrl::SetPassword

Chiamare questo metodo per impostare la password.

inline BOOL SetPassword(LPCTSTR lpszPass) throw();

Parametri

lpszPass
Password.

Valore restituito

Restituisce TRUE in caso di esito positivo, FALSE in caso di errore.

CUrl::SetPortNumber

Chiamare questo metodo per impostare il numero di porta.

inline BOOL SetPortNumber(ATL_URL_PORT nPrt) throw();

Parametri

nPrt
Il numero della porta.

Valore restituito

Restituisce TRUE in caso di esito positivo, FALSE in caso di errore.

CUrl::SetScheme

Chiamare questo metodo per impostare lo schema URL.

inline BOOL SetScheme(ATL_URL_SCHEME nScheme) throw();

Parametri

nScheme
Uno dei valori ATL_URL_SCHEME per lo schema.

Valore restituito

Restituisce TRUE in caso di esito positivo, FALSE in caso di errore.

Osservazioni:

È anche possibile impostare lo schema in base al nome (vedere CUrl::SetSchemeName).

CUrl::SetSchemeName

Chiamare questo metodo per impostare il nome dello schema URL.

inline BOOL SetSchemeName(LPCTSTR lpszSchm) throw();

Parametri

lpszSchm
Nome dello schema URL.

Valore restituito

Restituisce TRUE in caso di esito positivo, FALSE in caso di errore.

Osservazioni:

È anche possibile impostare lo schema usando una costante ATL_URL_SCHEME (vedere CUrl::SetScheme).

CUrl::SetUrlPath

Chiamare questo metodo per impostare il percorso URL.

inline BOOL SetUrlPath(LPCTSTR lpszPath) throw();

Parametri

lpszPath
Percorso URL.

Valore restituito

Restituisce TRUE in caso di esito positivo, FALSE in caso di errore.

CUrl::SetUserName

Chiamare questo metodo per impostare il nome utente.

inline BOOL SetUserName(LPCTSTR lpszUser) throw();

Parametri

lpszUser
Nome utente.

Valore restituito

Restituisce TRUE in caso di esito positivo, FALSE in caso di errore.

Vedi anche

Classi