Uri Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Proporciona una representación de objeto de un identificador uniforme de recursos (URI) y fácil acceso a las partes del 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 : IEquatable<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
public class Uri : IEquatable<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 IEquatable<Uri>
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
Implements IEquatable(Of Uri), ISerializable, ISpanFormattable
Public Class Uri
Inherits MarshalByRefObject
Implements ISerializable
- Herencia
-
Uri
- Herencia
- Atributos
- Implementaciones
Ejemplos
En el ejemplo siguiente se crea una instancia de la clase Uri y se usa para realizar una solicitud 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)
En el fragmento de código siguiente se muestran valores de ejemplo de las distintas propiedades de la clase .
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
Comentarios
Para obtener más información sobre esta API, consulte comentarios de api complementarias para Uri.
Constructores
Uri(SerializationInfo, StreamingContext) |
Obsoletos.
Inicializa una nueva instancia de la clase Uri a partir de las instancias especificadas de las clases SerializationInfo y StreamingContext especificadas. |
Uri(String) |
Inicializa una nueva instancia de la clase Uri con el URI especificado. |
Uri(String, Boolean) |
Obsoletos.
Obsoletos.
Obsoletos.
Inicializa una nueva instancia de la clase Uri con el URI especificado, con control explícito de escape de caracteres. |
Uri(String, UriCreationOptions) |
Inicializa una nueva instancia de la clase Uri con el URI especificado y UriCreationOptionsadicional . |
Uri(String, UriKind) |
Inicializa una nueva instancia de la clase Uri con el URI especificado. Este constructor permite especificar si la cadena de URI es un URI relativo, un URI absoluto o está indeterminado. |
Uri(Uri, String) |
Inicializa una nueva instancia de la clase Uri en función del URI base y la cadena de URI relativa especificadas. |
Uri(Uri, String, Boolean) |
Obsoletos.
Obsoletos.
Obsoletos.
Inicializa una nueva instancia de la clase Uri en función de los URI relativos y base especificados, con control explícito de escape de caracteres. |
Uri(Uri, Uri) |
Inicializa una nueva instancia de la clase Uri en función de la combinación de una instancia de Uri base especificada y una instancia de Uri relativa. |
Campos
SchemeDelimiter |
Especifica los caracteres que separan el esquema de protocolo de comunicación de la parte de dirección del URI. Este campo es de solo lectura. |
UriSchemeFile |
Especifica que el URI es un puntero a un archivo. Este campo es de solo lectura. |
UriSchemeFtp |
Especifica que se accede al URI a través del Protocolo de transferencia de archivos (FTP). Este campo es de solo lectura. |
UriSchemeFtps |
Especifica que se accede al URI a través del protocolo de transferencia de archivos seguro (FTPS). Este campo es de solo lectura. |
UriSchemeGopher |
Especifica que se accede al URI a través del protocolo Gopher. Este campo es de solo lectura. |
UriSchemeHttp |
Especifica que se accede al URI a través del Protocolo de transferencia de hipertexto (HTTP). Este campo es de solo lectura. |
UriSchemeHttps |
Especifica que se accede al URI a través del Protocolo seguro de transferencia de hipertexto (HTTPS). Este campo es de solo lectura. |
UriSchemeMailto |
Especifica que el URI es una dirección de correo electrónico y se accede a través del Protocolo de transporte de correo simple (SMTP). Este campo es de solo lectura. |
UriSchemeNetPipe |
Especifica que se accede al URI a través del esquema NetPipe usado por Windows Communication Foundation (WCF). Este campo es de solo lectura. |
UriSchemeNetTcp |
Especifica que se accede al URI a través del esquema NetTcp usado por Windows Communication Foundation (WCF). Este campo es de solo lectura. |
UriSchemeNews |
Especifica que el URI es un grupo de noticias de Internet y se accede a él a través del Protocolo de transporte de noticias de red (NNTP). Este campo es de solo lectura. |
UriSchemeNntp |
Especifica que el URI es un grupo de noticias de Internet y se accede a él a través del Protocolo de transporte de noticias de red (NNTP). Este campo es de solo lectura. |
UriSchemeSftp |
Especifica que se accede al URI a través del protocolo de transferencia de archivos SSH (SFTP). Este campo es de solo lectura. |
UriSchemeSsh |
Especifica que se accede al URI a través del protocolo Secure Socket Shell (SSH). Este campo es de solo lectura. |
UriSchemeTelnet |
Especifica que se accede al URI a través del protocolo Telnet. Este campo es de solo lectura. |
UriSchemeWs |
Especifica que se accede al URI a través del protocolo WebSocket (WS). Este campo es de solo lectura. |
UriSchemeWss |
Especifica que se accede al URI a través del protocolo WebSocket Secure (WSS). Este campo es de solo lectura. |
Propiedades
AbsolutePath |
Obtiene la ruta de acceso absoluta del URI. |
AbsoluteUri |
Obtiene el URI absoluto. |
Authority |
Obtiene el nombre de host o la dirección IP del sistema de nombres de dominio (DNS) y el número de puerto de un servidor. |
DnsSafeHost |
Obtiene un nombre de host que, después de quedar sin escape si es necesario, es seguro usar para la resolución DNS. |
Fragment |
Obtiene el fragmento de URI con escape, incluido el carácter "#" inicial si no está vacío. |
Host |
Obtiene el componente host de esta instancia. |
HostNameType |
Obtiene el tipo del nombre de host especificado en el URI. |
IdnHost |
Obtiene el nombre de dominio internacional compatible con RFC 3490 del host mediante Punycode según corresponda. Esta cadena, después de ser sin escape si es necesario, es segura de usar para la resolución DNS. |
IsAbsoluteUri |
Obtiene un valor que indica si la instancia de Uri es absoluta. |
IsDefaultPort |
Obtiene un valor que indica si el valor de puerto del URI es el valor predeterminado para este esquema. |
IsFile |
Obtiene un valor que indica si el Uri especificado es un URI de archivo. |
IsLoopback |
Obtiene un valor que indica si el Uri especificado hace referencia al host local. |
IsUnc |
Obtiene un valor que indica si el Uri especificado es una ruta de acceso de convención de nomenclatura universal (UNC). |
LocalPath |
Obtiene una representación local del sistema operativo de un nombre de archivo. |
OriginalString |
Obtiene la cadena de URI original que se pasó al constructor de Uri. |
PathAndQuery |
Obtiene las propiedades AbsolutePath y Query separadas por un signo de interrogación (?). |
Port |
Obtiene el número de puerto de este URI. |
Query |
Obtiene cualquier información de consulta incluida en el URI especificado, incluido el carácter inicial "?" si no está vacío. |
Scheme |
Obtiene el nombre del esquema para este URI. |
Segments |
Obtiene una matriz que contiene los segmentos de ruta de acceso que componen el URI especificado. |
UserEscaped |
Obtiene un valor que indica si la cadena de URI se ha escapado completamente antes de crear la instancia de Uri. |
UserInfo |
Obtiene el nombre de usuario, la contraseña u otra información específica del usuario asociada al URI especificado. |
Métodos
Canonicalize() |
Obsoletos.
Obsoletos.
Obsoletos.
Convierte el URI almacenado internamente en forma canónica. |
CheckHostName(String) |
Determina si el nombre de host especificado es un nombre DNS válido. |
CheckSchemeName(String) |
Determina si el nombre de esquema especificado es válido. |
CheckSecurity() |
Obsoletos.
Obsoletos.
Obsoletos.
Llamar a este método no tiene ningún efecto. |
Compare(Uri, Uri, UriComponents, UriFormat, StringComparison) |
Compara las partes especificadas de dos URI mediante las reglas de comparación especificadas. |
CreateObjRef(Type) |
Crea un objeto que contiene toda la información pertinente necesaria para generar un proxy usado para comunicarse con un objeto remoto. (Heredado de MarshalByRefObject) |
Equals(Object) |
Compara dos instancias de Uri para obtener igualdad. |
Equals(Uri) |
Compara dos instancias de Uri para obtener igualdad. |
Escape() |
Obsoletos.
Obsoletos.
Obsoletos.
Convierte los caracteres no seguros o reservados del componente de ruta de acceso a sus representaciones de caracteres hexadecimales. |
EscapeDataString(ReadOnlySpan<Char>) |
Convierte un intervalo en su representación con escape. |
EscapeDataString(String) |
Convierte una cadena en su representación con escape. |
EscapeString(String) |
Obsoletos.
Obsoletos.
Obsoletos.
Obsoletos.
Convierte una cadena en su representación con escape. |
EscapeUriString(String) |
Obsoletos.
Obsoletos.
Convierte una cadena de URI en su representación con escape. |
FromHex(Char) |
Obtiene el valor decimal de un dígito hexadecimal. |
GetComponents(UriComponents, UriFormat) |
Obtiene los componentes especificados de la instancia actual utilizando el escape especificado para caracteres especiales. |
GetHashCode() |
Obtiene el código hash del URI. |
GetLeftPart(UriPartial) |
Obtiene la parte especificada de una instancia de Uri. |
GetLifetimeService() |
Obsoletos.
Recupera el objeto de servicio de duración actual que controla la directiva de duración de esta instancia. (Heredado de MarshalByRefObject) |
GetObjectData(SerializationInfo, StreamingContext) |
Devuelve los datos necesarios para serializar la instancia actual. |
GetType() |
Obtiene el Type de la instancia actual. (Heredado de Object) |
HexEscape(Char) |
Convierte un carácter especificado en su equivalente hexadecimal. |
HexUnescape(String, Int32) |
Convierte una representación hexadecimal especificada de un carácter en el carácter . |
InitializeLifetimeService() |
Obsoletos.
Obtiene un objeto de servicio de duración para controlar la directiva de duración de esta instancia. (Heredado de MarshalByRefObject) |
IsBadFileSystemCharacter(Char) |
Obsoletos.
Obsoletos.
Obsoletos.
Indica si un carácter no es válido en un nombre de sistema de archivos. |
IsBaseOf(Uri) |
Determina si la instancia de Uri actual es una base de la instancia de Uri especificada. |
IsExcludedCharacter(Char) |
Obsoletos.
Obsoletos.
Obsoletos.
Determina si el carácter especificado debe ser de escape. |
IsHexDigit(Char) |
Determina si un carácter especificado es un dígito hexadecimal válido. |
IsHexEncoding(String, Int32) |
Determina si un carácter de una cadena tiene codificación hexadecimal. |
IsReservedCharacter(Char) |
Obsoletos.
Obsoletos.
Obsoletos.
Determina si el carácter especificado es un carácter reservado. |
IsWellFormedOriginalString() |
Indica si la cadena utilizada para construir este Uri estaba bien formada y no requiere un escape adicional. |
IsWellFormedUriString(String, UriKind) |
Indica si la cadena tiene un formato correcto al intentar construir un URI con la cadena y garantiza que la cadena no requiera un escape adicional. |
MakeRelative(Uri) |
Obsoletos.
Obsoletos.
Obsoletos.
Obsoletos.
Determina la diferencia entre dos instancias de Uri. |
MakeRelativeUri(Uri) |
Determina la diferencia entre dos instancias de Uri. |
MemberwiseClone() |
Crea una copia superficial del Objectactual. (Heredado de Object) |
MemberwiseClone(Boolean) |
Crea una copia superficial del objeto MarshalByRefObject actual. (Heredado de MarshalByRefObject) |
Parse() |
Obsoletos.
Obsoletos.
Obsoletos.
Analiza el URI de la instancia actual para asegurarse de que contiene todas las partes necesarias para un URI válido. |
ToString() |
Obtiene una representación de cadena canónica para la instancia de Uri especificada. |
TryCreate(String, UriCreationOptions, Uri) |
Crea un nuevo Uri mediante la instancia de String especificada y UriCreationOptions. |
TryCreate(String, UriKind, Uri) |
Crea un nuevo Uri mediante la instancia de String especificada y un UriKind. |
TryCreate(Uri, String, Uri) |
Crea un nuevo Uri mediante las instancias de String base y relativas especificadas. |
TryCreate(Uri, Uri, Uri) |
Crea un nuevo Uri mediante las instancias de Uri base y relativas especificadas. |
TryEscapeDataString(ReadOnlySpan<Char>, Span<Char>, Int32) |
Intenta convertir un intervalo en su representación con escape. |
TryFormat(Span<Char>, Int32) |
Intenta dar formato a una representación de cadena canónica para la instancia de Uri en el intervalo especificado. |
TryUnescapeDataString(ReadOnlySpan<Char>, Span<Char>, Int32) |
Intenta convertir un intervalo en su representación sin escape. |
Unescape(String) |
Obsoletos.
Obsoletos.
Obsoletos.
Convierte la cadena especificada reemplazando las secuencias de escape por su representación sin escape. |
UnescapeDataString(ReadOnlySpan<Char>) |
Convierte un intervalo en su representación sin escape. |
UnescapeDataString(String) |
Convierte una cadena en su representación sin escape. |
Operadores
Equality(Uri, Uri) |
Determina si dos instancias de Uri tienen el mismo valor. |
Inequality(Uri, Uri) |
Determina si dos instancias de Uri no tienen el mismo valor. |
Implementaciones de interfaz explícitas
IFormattable.ToString(String, IFormatProvider) |
Da formato al valor de la instancia actual mediante el formato especificado. |
ISerializable.GetObjectData(SerializationInfo, StreamingContext) |
Devuelve los datos necesarios para serializar la instancia actual. |
ISpanFormattable.TryFormat(Span<Char>, Int32, ReadOnlySpan<Char>, IFormatProvider) |
Intenta dar formato al valor de la instancia actual en el intervalo de caracteres proporcionado. |
Se aplica a
Seguridad para subprocesos
Todos los miembros de Uri son seguros para subprocesos y se pueden usar simultáneamente desde varios subprocesos.
Consulte también
- IdnElement
- IriParsingElement
- UriSection
- DnsSafeHost
- MakeRelative(Uri)
- IsWellFormedOriginalString()
- UriBuilder
- Cambios en el espacio de nombres System.Uri de la versión 2.0
- compatibilidad con identificadores de recursos internacionales de en System.UriSystem.Uri
- programación de red de en el de .NET Framework