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 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 : 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 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. |
Equals(Uri) |
Proporciona una representación de objeto de un identificador de recursos uniforme (URI) y un acceso sencillo a las partes del identificador URI. |
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
- IdnElement
- IriParsingElement
- UriSection
- DnsSafeHost
- MakeRelative(Uri)
- IsWellFormedOriginalString()
- UriBuilder
- Cambios realizados en el espacio de nombres System.Uri de la versión 2.0
- Compatibilidad con identificadores de recursos internacionales en System.UriSystem.Uri
- Programación para redes en .NET Framework
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de