Funzione UrlCanonicalizeA (shlwapi.h)
Converte una stringa dell'URL in forma canonica.
Sintassi
LWSTDAPI UrlCanonicalizeA(
[in] PCSTR pszUrl,
[out] PSTR pszCanonicalized,
[in, out] DWORD *pcchCanonicalized,
DWORD dwFlags
);
Parametri
[in] pszUrl
Tipo: PCTSTR
Puntatore a una stringa con terminazione null di lunghezza massima INTERNET_MAX_URL_LENGTH contenente una stringa URL. Se la stringa non fa riferimento a un file, deve includere uno schema valido, ad esempio "http://".
[out] pszCanonicalized
Tipo: PTSTR
Puntatore a un buffer che, quando questa funzione restituisce correttamente, riceve l'URL convertito come stringa con terminazione Null.
[in, out] pcchCanonicalized
Tipo: DWORD*
Puntatore a un valore che, nella voce, è impostato sul numero di caratteri nel buffer pszCanonicalized .
dwFlags
Tipo: DWORD
Flag che specificano il modo in cui l'URL viene convertito in formato canonico. È possibile combinare i flag seguenti.
URL_UNESCAPE (0x10000000)
Annullare l'escape di qualsiasi sequenza di escape che gli URL contengono, con due eccezioni. Non vengono rimosse le sequenze di escape per "?" e "#". Se viene impostato anche uno dei flag di URL_ESCAPE_XXX, i due URL vengono prima non in escape, quindi combinati, quindi escape.
URL_ESCAPE_UNSAFE (0x20000000)
sostituisce i caratteri non sicuri con le rispettive sequenze di escape. I caratteri non sicuri sono i caratteri che possono essere modificati durante il trasporto in Internet e includono i caratteri (<, >{, }, |, , ^, [, ]e '). Questo flag si applica a tutti gli URL, inclusi gli URL opachi.
URL_PLUGGABLE_PROTOCOL (0x40000000)
Combinare GLI URL con i protocolli pluggable definiti dal client, in base alla specifica W3C. Questo flag non si applica ai protocolli standard, come ftp, http, gopher e così via. Se questo flag è impostato, UrlCombine non semplifica gli URL, quindi non è necessario impostare anche URL_DONT_SIMPLIFY.
URL_ESCAPE_SPACES_ONLY (0x04000000)
sostituisce solo gli spazi con sequenze di escape. Questo flag ha la precedenza su URL_ESCAPE_UNSAFE, ma non si applica agli URL opachi.
URL_DONT_SIMPLIFY (0x08000000)
considera "/./" e "/../" in una stringa dell'URL come caratteri letterali, non come sintassi abbreviata per lo spostamento. Per altre discussioni, vedere Osservazioni.
URL_NO_META (0x08000000)
Definito come URL_DONT_SIMPLIFY.
URL_ESCAPE_PERCENT (0x00001000)
converte tutte le occorrenze di "%" nella rispettiva sequenza di escape.
URL_ESCAPE_AS_UTF8 (0x00040000)
Windows 7 e versioni successive. Codifica per percentuale tutti i caratteri non ASCII come equivalenti UTF-8.
Valore restituito
Tipo: HRESULT
Se questa funzione ha esito positivo, restituisce S_OK. In caso contrario, restituisce un codice di errore HRESULT .
Commenti
Questa funzione esegue attività come la sostituzione di caratteri non sicuri con le sequenze di escape e le sequenze di confronto come ".....".
Se una stringa URL contiene "/.. /" o "/./", UrlCanonicalize considera i caratteri come indica la navigazione nella gerarchia di URL. La funzione semplifica gli URL prima di combinarli. Ad esempio"/hello/crudele/.. /world" è semplificato in "/hello/world". Le eccezioni a questo comportamento predefinito si verificano in questi casi:
- Se il flag URL_DONT_SIMPLIFY è impostato in dwFlags, la funzione non semplifica gli URL. In questo caso, "/hello/crudele/.. /world" è lasciato così come è.
- Se "/.. /" o "/./" è il primo segmento nel percorso ,ad esempio "http://domain/../path1/path2/file.htm"), UrlCanonicalize restituisce il percorso esattamente come è stato input.
Nota
L'intestazione shlwapi.h definisce UrlCanonicalize come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante preprocessore UNICODE. La combinazione dell'utilizzo dell'alias di codifica neutrale con il codice che non è neutrale dalla codifica può causare errori di corrispondenza che causano errori di compilazione o runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzione.
Requisiti
Client minimo supportato | Windows 2000 Professional, Windows XP [solo app desktop] |
Server minimo supportato | Windows 2000 Server [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | shlwapi.h |
Libreria | Shlwapi.lib |
DLL | Shlwapi.dll (versione 5.0 o successiva) |
Vedi anche
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per