Uri Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Fornisce una rappresentazione in forma di oggetto di un identificatore URI (uniform resource identifier) e un pratico accesso alle parti dell'URI.
public ref class Uri
public ref class Uri : System::Runtime::Serialization::ISerializable
public ref class Uri : ISpanFormattable, System::Runtime::Serialization::ISerializable
public ref class Uri : MarshalByRefObject, System::Runtime::Serialization::ISerializable
public class Uri
public class Uri : System.Runtime.Serialization.ISerializable
public class Uri : ISpanFormattable, System.Runtime.Serialization.ISerializable
[System.Serializable]
public class Uri : MarshalByRefObject, System.Runtime.Serialization.ISerializable
[System.Serializable]
[System.ComponentModel.TypeConverter(typeof(System.UriTypeConverter))]
public class Uri : System.Runtime.Serialization.ISerializable
type Uri = class
type Uri = class
interface ISerializable
type Uri = class
interface ISpanFormattable
interface IFormattable
interface ISerializable
type Uri = class
interface IFormattable
interface ISpanFormattable
interface ISerializable
[<System.Serializable>]
type Uri = class
inherit MarshalByRefObject
interface ISerializable
[<System.Serializable>]
[<System.ComponentModel.TypeConverter(typeof(System.UriTypeConverter))>]
type Uri = class
interface ISerializable
Public Class Uri
Public Class Uri
Implements ISerializable
Public Class Uri
Implements ISerializable, ISpanFormattable
Public Class Uri
Inherits MarshalByRefObject
Implements ISerializable
- Ereditarietà
-
Uri
- Ereditarietà
- Attributi
- Implementazioni
Esempio
L'esempio seguente crea un'istanza della Uri classe e la usa per eseguire una richiesta GET con HttpClient.
Uri^ siteUri = gcnew Uri("http://www.contoso.com/");
// HttpClient lifecycle management best practices:
// https://learn.microsoft.com/dotnet/fundamentals/networking/http/httpclient-guidelines#recommended-use
HttpClient^ client = gcnew HttpClient;
HttpRequestMessage^ request = gcnew HttpRequestMessage(HttpMethod::Get, siteUri);
HttpResponseMessage^ response = client->Send(request);
Uri siteUri = new Uri("http://www.contoso.com/");
// HttpClient lifecycle management best practices:
// https://learn.microsoft.com/dotnet/fundamentals/networking/http/httpclient-guidelines#recommended-use
HttpClient client = new HttpClient();
HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, siteUri);
HttpResponseMessage response = client.Send(request);
let siteUri = Uri "http://www.contoso.com/"
// HttpClient lifecycle management best practices:
// https://learn.microsoft.com/dotnet/fundamentals/networking/http/httpclient-guidelines#recommended-use
use client = new HttpClient ()
use request = new HttpRequestMessage (HttpMethod.Get, siteUri)
use response = client.Send request
Dim siteUri As New Uri("http://www.contoso.com/")
' HttpClient lifecycle management best practices:
' https://learn.microsoft.com/dotnet/fundamentals/networking/http/httpclient-guidelines#recommended-use
Dim client As New HttpClient()
Dim request As New HttpRequestMessage(HttpMethod.Get, siteUri)
Dim response As HttpResponseMessage = client.Send(request)
Il frammento di codice seguente mostra i valori di esempio delle varie proprietà della classe .
Uri uri = new Uri("https://user:password@www.contoso.com:80/Home/Index.htm?q1=v1&q2=v2#FragmentName");
Console.WriteLine($"AbsolutePath: {uri.AbsolutePath}");
Console.WriteLine($"AbsoluteUri: {uri.AbsoluteUri}");
Console.WriteLine($"DnsSafeHost: {uri.DnsSafeHost}");
Console.WriteLine($"Fragment: {uri.Fragment}");
Console.WriteLine($"Host: {uri.Host}");
Console.WriteLine($"HostNameType: {uri.HostNameType}");
Console.WriteLine($"IdnHost: {uri.IdnHost}");
Console.WriteLine($"IsAbsoluteUri: {uri.IsAbsoluteUri}");
Console.WriteLine($"IsDefaultPort: {uri.IsDefaultPort}");
Console.WriteLine($"IsFile: {uri.IsFile}");
Console.WriteLine($"IsLoopback: {uri.IsLoopback}");
Console.WriteLine($"IsUnc: {uri.IsUnc}");
Console.WriteLine($"LocalPath: {uri.LocalPath}");
Console.WriteLine($"OriginalString: {uri.OriginalString}");
Console.WriteLine($"PathAndQuery: {uri.PathAndQuery}");
Console.WriteLine($"Port: {uri.Port}");
Console.WriteLine($"Query: {uri.Query}");
Console.WriteLine($"Scheme: {uri.Scheme}");
Console.WriteLine($"Segments: {string.Join(", ", uri.Segments)}");
Console.WriteLine($"UserEscaped: {uri.UserEscaped}");
Console.WriteLine($"UserInfo: {uri.UserInfo}");
// AbsolutePath: /Home/Index.htm
// AbsoluteUri: https://user:password@www.contoso.com:80/Home/Index.htm?q1=v1&q2=v2#FragmentName
// DnsSafeHost: www.contoso.com
// Fragment: #FragmentName
// Host: www.contoso.com
// HostNameType: Dns
// IdnHost: www.contoso.com
// IsAbsoluteUri: True
// IsDefaultPort: False
// IsFile: False
// IsLoopback: False
// IsUnc: False
// LocalPath: /Home/Index.htm
// OriginalString: https://user:password@www.contoso.com:80/Home/Index.htm?q1=v1&q2=v2#FragmentName
// PathAndQuery: /Home/Index.htm?q1=v1&q2=v2
// Port: 80
// Query: ?q1=v1&q2=v2
// Scheme: https
// Segments: /, Home/, Index.htm
// UserEscaped: False
// UserInfo: user:password
let uri = Uri "https://user:password@www.contoso.com:80/Home/Index.htm?q1=v1&q2=v2#FragmentName"
printfn $"AbsolutePath: {uri.AbsolutePath}"
printfn $"AbsoluteUri: {uri.AbsoluteUri}"
printfn $"DnsSafeHost: {uri.DnsSafeHost}"
printfn $"Fragment: {uri.Fragment}"
printfn $"Host: {uri.Host}"
printfn $"HostNameType: {uri.HostNameType}"
printfn $"IdnHost: {uri.IdnHost}"
printfn $"IsAbsoluteUri: {uri.IsAbsoluteUri}"
printfn $"IsDefaultPort: {uri.IsDefaultPort}"
printfn $"IsFile: {uri.IsFile}"
printfn $"IsLoopback: {uri.IsLoopback}"
printfn $"IsUnc: {uri.IsUnc}"
printfn $"LocalPath: {uri.LocalPath}"
printfn $"OriginalString: {uri.OriginalString}"
printfn $"PathAndQuery: {uri.PathAndQuery}"
printfn $"Port: {uri.Port}"
printfn $"Query: {uri.Query}"
printfn $"Scheme: {uri.Scheme}"
printfn $"""Segments: {String.Join(", ", uri.Segments)}"""
printfn $"UserEscaped: {uri.UserEscaped}"
printfn $"UserInfo: {uri.UserInfo}"
// AbsolutePath: /Home/Index.htm
// AbsoluteUri: https://user:password@www.contoso.com:80/Home/Index.htm?q1=v1&q2=v2#FragmentName
// DnsSafeHost: www.contoso.com
// Fragment: #FragmentName
// Host: www.contoso.com
// HostNameType: Dns
// IdnHost: www.contoso.com
// IsAbsoluteUri: True
// IsDefaultPort: False
// IsFile: False
// IsLoopback: False
// IsUnc: False
// LocalPath: /Home/Index.htm
// OriginalString: https://user:password@www.contoso.com:80/Home/Index.htm?q1=v1&q2=v2#FragmentName
// PathAndQuery: /Home/Index.htm?q1=v1&q2=v2
// Port: 80
// Query: ?q1=v1&q2=v2
// Scheme: https
// Segments: /, Home/, Index.htm
// UserEscaped: False
// UserInfo: user:password
Commenti
Per altre informazioni su questa API, vedere La sezione note sulle API supplementari per l'URI.
Costruttori
Uri(SerializationInfo, StreamingContext) |
Obsoleti.
Inizializza una nuova istanza della classe Uri dalle istanze specificate delle classi SerializationInfo e StreamingContext. |
Uri(String) |
Inizializza una nuova istanza della classe Uri con l'URI specificato. |
Uri(String, Boolean) |
Obsoleti.
Obsoleti.
Obsoleti.
Inizializza una nuova istanza della classe Uri con l'URI specificato e con il controllo esplicito dell'escape dei caratteri. |
Uri(String, UriCreationOptions) |
Inizializza una nuova istanza della Uri classe con l'URI specificato e l'oggetto aggiuntivo UriCreationOptions. |
Uri(String, UriKind) |
Inizializza una nuova istanza della classe Uri con l'URI specificato. Questo costruttore consente di specificare se la stringa URI è un URI relativo, un URI assoluto o se è indeterminata. |
Uri(Uri, String) |
Inizializza una nuova istanza della classe Uri basata sull'URI di base specificato e sulla stringa URI relativa. |
Uri(Uri, String, Boolean) |
Obsoleti.
Obsoleti.
Obsoleti.
Inizializza una nuova istanza della classe Uri basata sugli URI di base e relativi specificati, con controllo esplicito dell'escape dei caratteri. |
Uri(Uri, Uri) |
Inizializza una nuova istanza della classe Uri sulla combinazione di un'istanza di Uri di base specificata e un'istanza di Uri relativa. |
Campi
SchemeDelimiter |
Specifica i caratteri che separano lo schema del protocollo di comunicazione dalla parte di indirizzo dell'URI. Questo campo è di sola lettura. |
UriSchemeFile |
Specifica che l'URI è un puntatore a un file. Questo campo è di sola lettura. |
UriSchemeFtp |
Specifica che l'accesso all'URI viene eseguito tramite FTP (File Transfer Protocol). Questo campo è di sola lettura. |
UriSchemeFtps |
Specifica che l'URI è accessibile tramite FTPS (File Transfer Protocol Secure). Questo campo è di sola lettura. |
UriSchemeGopher |
Specifica che l'accesso all'URI viene eseguito tramite il protocollo Gopher. Questo campo è di sola lettura. |
UriSchemeHttp |
Specifica che l'accesso all'URI viene eseguito tramite HTTP (Hypertext Transfer Protocol). Questo campo è di sola lettura. |
UriSchemeHttps |
Specifica che l'accesso all'URI viene eseguito tramite HTTPS (Secure Hypertext Transfer Protocol). Questo campo è di sola lettura. |
UriSchemeMailto |
Specifica che l'URI è un indirizzo di posta elettronica a cui si accede tramite SMTP (Simple Mail Transport Protocol). Questo campo è di sola lettura. |
UriSchemeNetPipe |
Specifica che all'URI si accede tramite lo schema NetPipe usato da Windows Communication Foundation (WCF). Questo campo è di sola lettura. |
UriSchemeNetTcp |
Specifica che all'URI si accede tramite lo schema NetTcp usato da Windows Communication Foundation (WCF). Questo campo è di sola lettura. |
UriSchemeNews |
Specifica che l'URI è un newsgroup Internet a cui si accede tramite NNTP (Network News Transport Protocol). Questo campo è di sola lettura. |
UriSchemeNntp |
Specifica che l'URI è un newsgroup Internet a cui si accede tramite NNTP (Network News Transport Protocol). Questo campo è di sola lettura. |
UriSchemeSftp |
Specifica che l'URI è accessibile tramite SSH File Transfer Protocol (SFTP). Questo campo è di sola lettura. |
UriSchemeSsh |
Specifica che l'URI è accessibile tramite ssh (Secure Socket Shell Protocol). Questo campo è di sola lettura. |
UriSchemeTelnet |
Specifica che l'URI è accessibile tramite il protocollo Telnet. Questo campo è di sola lettura. |
UriSchemeWs |
Specifica che l'URI è accessibile tramite il protocollo WebSocket (WS). Questo campo è di sola lettura. |
UriSchemeWss |
Specifica che l'URI è accessibile tramite il protocollo WebSocket Secure (WSS). Questo campo è di sola lettura. |
Proprietà
AbsolutePath |
Ottiene il percorso assoluto dell'URI. |
AbsoluteUri |
Ottiene l'URI assoluto. |
Authority |
Ottiene il nome host DNS (Domain Name System) o l'indirizzo IP e il numero di porta per un server. |
DnsSafeHost |
Ottiene un nome host che, dopo la rimozione dei caratteri di escape, se necessario, può essere usato in sicurezza per la risoluzione DNS. |
Fragment |
Ottiene il frammento di URI preceduto da escape, incluso il carattere '#' iniziale, se non è vuoto. |
Host |
Ottiene il componente host di questa istanza. |
HostNameType |
Ottiene il tipo del nome host specificato nell'URI. |
IdnHost |
Ottiene il nome IDN (International Domain Name) conforme a RFC 3490 dell'host, usando Punycode se appropriato. Questa stringa, dopo la rimozione dei caratteri di escape, se necessario, può essere usata in sicurezza per la risoluzione DNS. |
IsAbsoluteUri |
Ottiene un valore che indica se l'istanza di Uri è assoluta. |
IsDefaultPort |
Ottiene un valore che indica se il valore della porta dell'URI è l'impostazione predefinita per questo schema. |
IsFile |
Ottiene un valore che indica se l'oggetto Uri specificato è l'URI di un file. |
IsLoopback |
Ottiene un valore che indica se l'oggetto Uri specificato fa riferimento all'host locale. |
IsUnc |
Ottiene un valore che indica se l'oggetto Uri specificato è un percorso UNC (Universal Naming Convention). |
LocalPath |
Ottiene una rappresentazione di un nome file nel formato del sistema operativo locale. |
OriginalString |
Ottiene la stringa URI originale passata al costruttore Uri. |
PathAndQuery |
Ottiene le proprietà AbsolutePath e Query separate da un punto interrogativo (?). |
Port |
Ottiene il numero di porta di questo URI. |
Query |
Ottiene eventuali informazioni sulla query incluse nell'URI specificato, incluso il carattere iniziale '?' se non è vuoto. |
Scheme |
Ottiene il nome di schema per questo URI. |
Segments |
Ottiene una matrice contenente i segmenti di percorso che compongono l'URI specificato. |
UserEscaped |
Ottiene un valore che indica se la stringa URI è stata sottoposta a escape completo prima della creazione dell'istanza di Uri. |
UserInfo |
Ottiene il nome utente, la password o altre informazioni specifiche dell'utente associate all'URI specificato. |
Metodi
Canonicalize() |
Obsoleti.
Obsoleti.
Obsoleti.
Converte in formato canonico l'URI archiviato internamente. |
CheckHostName(String) |
Determina se il nome host specificato è un nome DNS valido. |
CheckSchemeName(String) |
Determina se il nome dello schema specificato è valido. |
CheckSecurity() |
Obsoleti.
Obsoleti.
Obsoleti.
La chiamata a questo metodo non ha effetto. |
Compare(Uri, Uri, UriComponents, UriFormat, StringComparison) |
Confronta le parti specificate dei due URI usando le regole di confronto specificate. |
CreateObjRef(Type) |
Consente di creare un oggetto che contiene tutte le informazioni rilevanti necessarie per la generazione del proxy utilizzato per effettuare la comunicazione con un oggetto remoto. (Ereditato da MarshalByRefObject) |
Equals(Object) |
Verifica l'uguaglianza tra due istanze di Uri. |
Escape() |
Obsoleti.
Obsoleti.
Obsoleti.
Converte qualsiasi carattere unsafe o riservato presente nel componente percorso della relativa rappresentazione in caratteri esadecimali. |
EscapeDataString(ReadOnlySpan<Char>) |
Fornisce una rappresentazione in forma di oggetto di un identificatore URI (uniform resource identifier) e un pratico accesso alle parti dell'URI. |
EscapeDataString(String) |
Converte una stringa nella relativa rappresentazione escape. |
EscapeString(String) |
Obsoleti.
Obsoleti.
Obsoleti.
Obsoleti.
Converte una stringa nella relativa rappresentazione escape. |
EscapeUriString(String) |
Obsoleti.
Obsoleti.
Converte una stringa URI nella relativa rappresentazione escape. |
FromHex(Char) |
Ottiene il valore decimale di una cifra esadecimale. |
GetComponents(UriComponents, UriFormat) |
Ottiene i componenti specificati dell'istanza corrente usando l'escape specificato per caratteri speciali. |
GetHashCode() |
Ottiene il codice hash per l'URI. |
GetLeftPart(UriPartial) |
Ottiene la parte specificata di un'istanza di Uri. |
GetLifetimeService() |
Obsoleti.
Consente di recuperare l'oggetto servizio di durata corrente per controllare i criteri di durata per l'istanza. (Ereditato da MarshalByRefObject) |
GetObjectData(SerializationInfo, StreamingContext) |
Restituisce i dati necessari per serializzare l'istanza corrente. |
GetType() |
Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
HexEscape(Char) |
Converte un carattere specificato nel relativo equivalente esadecimale. |
HexUnescape(String, Int32) |
Converte una rappresentazione esadecimale specificata di un carattere nel carattere corrispondente. |
InitializeLifetimeService() |
Obsoleti.
Ottiene un oggetto servizio di durata per controllare i criteri di durata per questa istanza. (Ereditato da MarshalByRefObject) |
IsBadFileSystemCharacter(Char) |
Obsoleti.
Obsoleti.
Obsoleti.
Indica se un carattere non è valido in un nome di file system. |
IsBaseOf(Uri) |
Determina se l'istanza di Uri corrente è una base dell'istanza di Uri specificata. |
IsExcludedCharacter(Char) |
Obsoleti.
Obsoleti.
Obsoleti.
Determina se il carattere specificato deve essere preceduto da un carattere di escape. |
IsHexDigit(Char) |
Determina se un carattere specificato è una cifra esadecimale valida. |
IsHexEncoding(String, Int32) |
Determina se un carattere in una stringa è codificato in formato esadecimale. |
IsReservedCharacter(Char) |
Obsoleti.
Obsoleti.
Obsoleti.
Determina se il carattere specificato è un carattere riservato. |
IsWellFormedOriginalString() |
Indica se la stringa usata per creare questo oggetto Uri è ben formata e non richiede ulteriori caratteri di escape. |
IsWellFormedUriString(String, UriKind) |
Indica se la stringa è ben formata mediante un tentativo di costruire un URI con tale stringa e assicura che la stringa non deve essere ulteriormente sottoposta ad escape. |
MakeRelative(Uri) |
Obsoleti.
Obsoleti.
Obsoleti.
Obsoleti.
Determina la differenza tra due istanze di Uri. |
MakeRelativeUri(Uri) |
Determina la differenza tra due istanze di Uri. |
MemberwiseClone() |
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
MemberwiseClone(Boolean) |
Crea una copia dei riferimenti dell'oggetto MarshalByRefObject corrente. (Ereditato da MarshalByRefObject) |
Parse() |
Obsoleti.
Obsoleti.
Obsoleti.
Analizza l'URI dell'istanza corrente per assicurare che contenga tutte le parti richieste per un URI valido. |
ToString() |
Ottiene una rappresentazione in forma di stringa canonica per l'istanza di Uri specificata. |
TryCreate(String, UriCreationOptions, Uri) |
Crea un nuovo Uri oggetto usando l'istanza specificata String e UriCreationOptions. |
TryCreate(String, UriKind, Uri) |
Crea un nuovo oggetto Uri usando l'istanza di String specificata e un oggetto UriKind. |
TryCreate(Uri, String, Uri) |
Crea un nuovo oggetto Uri usando le istanze di String relativa e di base. |
TryCreate(Uri, Uri, Uri) |
Crea un nuovo oggetto Uri usando le istanze di Uri relativa e di base. |
TryEscapeDataString(ReadOnlySpan<Char>, Span<Char>, Int32) |
Fornisce una rappresentazione in forma di oggetto di un identificatore URI (uniform resource identifier) e un pratico accesso alle parti dell'URI. |
TryFormat(Span<Char>, Int32) |
Tenta di formattare una rappresentazione di stringa canonica per l'istanza Uri nell'intervallo specificato. |
TryUnescapeDataString(ReadOnlySpan<Char>, Span<Char>, Int32) |
Fornisce una rappresentazione in forma di oggetto di un identificatore URI (uniform resource identifier) e un pratico accesso alle parti dell'URI. |
Unescape(String) |
Obsoleti.
Obsoleti.
Obsoleti.
Converte la stringa specificata sostituendo qualsiasi sequenza di escape con la relativa rappresentazione senza caratteri escape. |
UnescapeDataString(ReadOnlySpan<Char>) |
Fornisce una rappresentazione in forma di oggetto di un identificatore URI (uniform resource identifier) e un pratico accesso alle parti dell'URI. |
UnescapeDataString(String) |
Converte una stringa nella relativa rappresentazione senza caratteri escape. |
Operatori
Equality(Uri, Uri) |
Determina se due istanze di Uri hanno lo stesso valore. |
Inequality(Uri, Uri) |
Determina se due istanze di Uri non hanno lo stesso valore. |
Implementazioni dell'interfaccia esplicita
IFormattable.ToString(String, IFormatProvider) |
Formatta il valore dell'istanza corrente usando il formato specificato. |
ISerializable.GetObjectData(SerializationInfo, StreamingContext) |
Restituisce i dati necessari per serializzare l'istanza corrente. |
ISpanFormattable.TryFormat(Span<Char>, Int32, ReadOnlySpan<Char>, IFormatProvider) |
Tenta di formattare il valore dell'istanza corrente nell'intervallo di caratteri specificato. |
Si applica a
Thread safety
Tutti i membri di Uri sono thread-safe e possono essere usati contemporaneamente da più thread.
Vedi anche
- IdnElement
- IriParsingElement
- UriSection
- DnsSafeHost
- MakeRelative(Uri)
- IsWellFormedOriginalString()
- UriBuilder
- Modifiche apportate allo spazio dei nomi System.Uri nella versione 2.0
- Supporto dell'identificatore di risorsa internazionale in System.UriSystem.Uri
- Programmazione di rete in .NET Framework
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