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.