Condividi tramite


Classe uri

Un'implementazione di URI flessibile e indipendente dal protocollo. Le istanze URI non sono modificabili. L'esecuzione di query su vari campi in un URI vuoto restituirà stringhe vuote. L'esecuzione di query su diversi membri diagnostici in un URI vuoto restituirà false.

Avviso

In questo argomento vengono fornite informazioni per C++ REST SDK 1.0 (nome in codice "Casablanca").Se si sta usando una versione più recente dalla pagina Web di Codeplex Casablanca, usare la documentazione locale all'indirizzo http://casablanca.codeplex.com/documentation.

class uri;

Membri

JJ948394.collapse_all(it-it,VS.140).gifClassi pubbliche

Nome

Descrizione

Classe uri::components

I vari componenti di un URI. Questa enumerazione viene usata per indicare quale componente URI viene codificato per encode_uri_component. Ciò consente di eseguire una codifica specifica. Lo schema e la porta non consentono l'uso di "%", quindi non necessitano di una codifica.

JJ948394.collapse_all(it-it,VS.140).gifCostruttori pubblici

Nome

Descrizione

Costruttore uri::uri

Di overload. Crea un URI vuoto

JJ948394.collapse_all(it-it,VS.140).gifMetodi pubblici

Nome

Descrizione

Metodo uri::authority

Crea un nuovo oggetto URI con la stessa parte di autorità, ma omettendo le parti risorsa e query.

Metodo uri::decode

Decodifica una stringa codificata.

Metodo uri::encode_data_string

Codifica una stringa convertendo tutti i caratteri tranne i caratteri RFC 3986 non riservati nella relativa rappresentazione esadecimale.

Metodo uri::encode_uri

Codifica un componente URI in base allo standard RFC 3986. Notare che se viene specificato un URI completo invece di un singolo componente URI tutti i caratteri non presenti nel set non riservato sono preceduti da un carattere di escape.

Metodo uri::fragment

Ottenere il componente del frammento dell'URI come stringa codificata.

Metodo uri::has_same_authority

Restituisce se l'altro URI ha la stessa autorità di quello corrente

Metodo uri::host

Ottenere il componente host dell'URI come stringa codificata.

Metodo uri::is_authority

Un URI di "autorità" è unico con un solo schema, informazioni utente facoltative, nome host e porta (facoltativa).

Metodo uri::is_empty

Un URI vuoto non specifica alcun componente e funge da valore predefinito

Metodo uri::is_host_loopback

Un URI di loopback fa riferimento a un nome host o indirizzo IP con significato solo sul computer locale.

Metodo uri::is_host_portable

Un URI portabile ha un nome host che può essere risolto a livello globale (usato da un altro computer).

Metodo uri::is_host_wildcard

Un URI di carattere jolly fa riferimento a tutti i nomi host risolti sul computer locale (usando il carattere * o +)

Metodo uri::is_path_empty

Restituisce se la parte di percorso di questo URI è vuota

Metodo uri::is_port_default

Metodo uri::path

Ottenere il componente del percorso dell'URI come stringa codificata.

Metodo uri::port

Ottenere il componente di porta dell'URI. Restituisce -1 se nessuna porta viene specificata.

Metodo uri::query

Ottenere il componente query dell'URI come stringa codificata.

Metodo uri::resource

Ottiene il percorso, la query e la parte del frammento di questo URI, che può essere vuoto.

Metodo uri::scheme

Ottenere il componente di schema dell'URI come stringa codificata.

Metodo uri::split_path

Suddivide un percorso nei suoi componenti gerarchici.

Metodo uri::split_query

Suddivide una query nei suoi componenti chiave-valore.

Metodo uri::to_string

Restituisce l'URI (codificato) completo come stringa.

Metodo uri::user_info

Ottenere il componente delle informazioni utente dell'URI come stringa codificata.

Metodo uri::validate

Convalida una stringa come URI.

JJ948394.collapse_all(it-it,VS.140).gifOperatori pubblici

Nome

Descrizione

Operatore uri::operator!=

Operatore uri::operator<

Operatore uri::operator==

Note

Questa implementazione accetta sia gli URI ("https://msn.com/path") sia i riferimenti relativi all'URI ("/path?query#frag"). Questa implementazione non fornisce alcun tipo di gestione specifica dello schema: un esempio potrebbe essere il seguente: "http://path1/path". Si tratta di un URI valido, ma non è un URI HTTP valido: vale a dire che è sintatticamente corretto, ma non è conforme ai requisiti dello schema http (http richiede un host). Per ottenerne uno è sufficiente consentire una classe criterio di "schema" collegabile, che fornirebbe ulteriori capacità di convalida e conversione in formato canonico di un URI secondo lo schema e introdurrebbe un livello di indipendenza dai tipi per gli URI di schemi differenti, e di conseguenza semantiche differenti. Uno dei problemi relativi all'implementazione di una funzionalità URI indipendente dallo schema uri è il confronto di uguaglianza. Ad esempio, gli URI "https://msn.com" e "https://msn.com:80" sono considerati uguali. In altre parole, la porta "predefinita" può essere omessa o esplicita. Poiché non c'è modo di mappare uno schema alla relativa porta predefinita, non è possibile sapere se sono uguali. Questo è solo uno dei problemi riguardanti il comportamento specifico dello schema.

Requisiti

Intestazione: base_uri.h

Spazio dei nomi: web::http

Vedere anche

Riferimenti

Spazio dei nomi web::http