Condividi tramite


Classe CUrl

Annotazioni

La libreria di modelli attivi (ATL) continua a essere supportata. Tuttavia, non aggiungiamo più funzionalità né aggiorniamo la documentazione.

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