Uri Clase

Definición

Proporciona una representación de objeto de un identificador de recursos uniforme (URI) y un acceso sencillo a las partes del identificador 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
Herencia
Uri
Herencia
Atributos
Implementaciones

Ejemplos

En el ejemplo siguiente se crea una instancia de la Uri clase 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 complementarios de la API para URI.

Constructores

Uri(SerializationInfo, StreamingContext)
Obsoletos.

Inicializa una nueva instancia de la clase Uri desde las instancias especificadas de las clases SerializationInfo y StreamingContext.

Uri(String)

Inicializa una nueva instancia de la clase Uri con el identificador URI especificado.

Uri(String, Boolean)
Obsoletos.
Obsoletos.
Obsoletos.

Inicializa una nueva instancia de la clase Uri con el identificador URI especificado, con control explícito de la secuencia de escape de carácter.

Uri(String, UriCreationOptions)

Inicializa una nueva instancia de la Uri clase con el URI especificado y el adicional UriCreationOptions.

Uri(String, UriKind)

Inicializa una nueva instancia de la clase Uri con el identificador URI especificado. Este constructor permite especificar si la cadena URI corresponde a un identificador URI relativo, a un identificador URI absoluto, o si está sin determinar.

Uri(Uri, String)

Inicializa una nueva instancia de la clase Uri basada en la cadena especificada de identificador URI base y relativo.

Uri(Uri, String, Boolean)
Obsoletos.
Obsoletos.
Obsoletos.

Inicializa una nueva instancia de la clase Uri basada en los identificadores URI base y relativo especificados, con control explícito de la secuencia de escape de carácter.

Uri(Uri, Uri)

Inicializa una nueva instancia de la clase Uri basada en la combinación de una instancia especificada de Uri base y una instancia de Uri relativo.

Campos

SchemeDelimiter

Especifica los caracteres que separan el servicio de protocolo de comunicaciones de la parte correspondiente a la dirección del identificador URI. Este campo es de solo lectura.

UriSchemeFile

Especifica que el identificador URI es un puntero a un archivo. Este campo es de solo lectura.

UriSchemeFtp

Especifica que se puede tener acceso al identificador URI mediante FTP (Protocolo de transferencia de archivos). Este campo es de solo lectura.

UriSchemeFtps

Especifica que se tiene acceso al URI a través del protocolo de transferencia de archivos seguro (FTPS). Este campo es de solo lectura.

UriSchemeGopher

Especifica que se puede tener acceso al identificador URI mediante el protocolo Gopher. Este campo es de solo lectura.

UriSchemeHttp

Especifica que se puede obtener acceso al identificador URI mediante HTTP (Protocolo de transferencia de hipertexto). Este campo es de solo lectura.

UriSchemeHttps

Especifica que se puede obtener acceso al identificador URI mediante HTTPS (Protocolo de transferencia segura de hipertexto). Este campo es de solo lectura.

UriSchemeMailto

Especifica que el URI sea una dirección de correo electrónico a la que se acceda por SMTP (Protocolo simple de transferencia de correo). Este campo es de solo lectura.

UriSchemeNetPipe

Especifica que se tiene acceso al URI a través del esquema NetPipe utilizado por Windows Communication Foundation (WCF). Este campo es de solo lectura.

UriSchemeNetTcp

Especifica que se tiene acceso al URI a través del esquema NetTcp utilizado por Windows Communication Foundation (WCF). Este campo es de solo lectura.

UriSchemeNews

Especifica que el identificador URI es un grupo de noticias de Internet accesible a través de NNTP (Protocolo de transferencia de noticias en red). Este campo es de solo lectura.

UriSchemeNntp

Especifica que el identificador URI es un grupo de noticias de Internet accesible a través de NNTP (Protocolo de transferencia de noticias en red). 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 tiene acceso 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 identificador URI.

AbsoluteUri

Obtiene el identificador URI absoluto.

Authority

Obtiene el nombre de host DNS (Sistema de nombres de dominio) o la dirección IP y el número de puerto de un servidor.

DnsSafeHost

Obtiene un nombre de host que, una vez convertido en nombre de host sin escape en caso necesario, se puede usar de forma segura para la resolución DNS.

Fragment

Obtiene el fragmento de URI de escape, incluido el carácter "#" inicial si no está vacío.

Host

Obtiene el componente de host de esta instancia.

HostNameType

Obtiene el tipo del nombre de host especificado en el identificador URI.

IdnHost

Obtiene el nombre de dominio internacional del host compatible con RFC 3490, mediante Punycode, según corresponda. Esta cadena, una vez convertida en cadena sin escape en caso necesario, se puede usar de forma segura 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 identificador URI es el valor predeterminado para este esquema.

IsFile

Obtiene un valor que indica si el objeto Uri especificado es un identificador 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 del sistema operativo local de un nombre de archivo.

OriginalString

Obtiene la cadena de identificador URI original que se pasó al constructor Uri.

PathAndQuery

Obtiene las propiedades AbsolutePath y Query separadas por un signo de interrogación (?).

Port

Obtiene el número de puerto de este identificador URI.

Query

Obtiene cualquier información de consulta incluida en el URI especificado, incluido el carácter "?", si no está vacío.

Scheme

Obtiene el nombre de esquema de este identificador URI.

Segments

Obtiene una matriz que contiene los segmentos de ruta de acceso que componen el identificador URI especificado.

UserEscaped

Obtiene un valor que indica si se utilizó una secuencia de escape completa para la cadena de identificador URI 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 identificador URI especificado.

Métodos

Canonicalize()
Obsoletos.
Obsoletos.
Obsoletos.

Convierte el identificador URI almacenado internamente en formato canónico.

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 identificadores URI utilizando las reglas de comparación especificadas.

CreateObjRef(Type)

Crea un objeto que contiene toda la información relevante necesaria para generar un proxy utilizado para comunicarse con un objeto remoto.

(Heredado de MarshalByRefObject)
Equals(Object)

Compara dos instancias de Uri para determinar si sus valores son iguales.

Escape()
Obsoletos.
Obsoletos.
Obsoletos.

Convierte cualquier carácter no seguro o reservado del componente de ruta de acceso en su representación de carácter hexadecimal.

EscapeDataString(ReadOnlySpan<Char>)

Proporciona una representación de objeto de un identificador de recursos uniforme (URI) y un acceso sencillo a las partes del identificador URI.

EscapeDataString(String)

Convierte una cadena en su representación de escape.

EscapeString(String)
Obsoletos.
Obsoletos.
Obsoletos.
Obsoletos.

Convierte una cadena en su representación de escape.

EscapeUriString(String)
Obsoletos.
Obsoletos.

Convierte una cadena URI en su representación con secuencias de escape.

FromHex(Char)

Obtiene el valor decimal de un dígito hexadecimal.

GetComponents(UriComponents, UriFormat)

Obtiene los componentes especificados de la instancia actual utilizando las secuencias de escape especificadas para los caracteres especiales.

GetHashCode()

Obtiene el código hash del identificador URI.

GetLeftPart(UriPartial)

Obtiene la porción 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 en representación 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 del 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 se deben utilizar secuencias de escape para el carácter especificado.

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 tenía el formato correcto y no hay que utilizar más secuencias de escape.

IsWellFormedUriString(String, UriKind)

Indica si la cadena tiene el formato correcto al intentar construir un URI con ella y garantiza que la cadena no requiere después secuencias de escape.

MakeRelative(Uri)
Obsoletos.
Obsoletos.
Obsoletos.
Obsoletos.

Determina la diferencia que existe entre dos instancias de Uri.

MakeRelativeUri(Uri)

Determina la diferencia que existe entre dos instancias de Uri.

MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
MemberwiseClone(Boolean)

Crea una copia superficial del objeto MarshalByRefObject actual.

(Heredado de MarshalByRefObject)
Parse()
Obsoletos.
Obsoletos.
Obsoletos.

Analiza el identificador URI de la instancia actual para garantizar que contiene todas las partes requeridas para que un URI sea válido.

ToString()

Obtiene una representación de cadena canónica para la instancia de Uri especificada.

TryCreate(String, UriCreationOptions, Uri)

Crea un objeto con Uri la instancia especificada String y UriCreationOptions.

TryCreate(String, UriKind, Uri)

Crea un nuevo Uri usando la String especificada y un UriKind.

TryCreate(Uri, String, Uri)

Crea un nuevo Uri usando la base especificada y las instancias de String relativo.

TryCreate(Uri, Uri, Uri)

Crea un nuevo Uri usando la base especificada y las instancias de Uri relativo.

TryEscapeDataString(ReadOnlySpan<Char>, Span<Char>, Int32)

Proporciona una representación de objeto de un identificador de recursos uniforme (URI) y un acceso sencillo a las partes del identificador URI.

TryFormat(Span<Char>, Int32)

Intenta dar formato a una representación de cadena canónica para la Uri instancia en el intervalo especificado.

TryUnescapeDataString(ReadOnlySpan<Char>, Span<Char>, Int32)

Proporciona una representación de objeto de un identificador de recursos uniforme (URI) y un acceso sencillo a las partes del identificador URI.

Unescape(String)
Obsoletos.
Obsoletos.
Obsoletos.

Convierte la cadena especificada, reemplazando cualquier secuencia de escape por su representación sin escape.

UnescapeDataString(ReadOnlySpan<Char>)

Proporciona una representación de objeto de un identificador de recursos uniforme (URI) y un acceso sencillo a las partes del identificador URI.

UnescapeDataString(String)

Convierte una cadena en su representación sin secuencias de 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 usando 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