Uri Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Fornece uma representação de objeto de um URI (Uniform Resource Identifier) e fácil acesso às partes do 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
- Herança
-
Uri
- Herança
- Atributos
- Implementações
Exemplos
O exemplo a seguir cria uma instância da classe e a Uri usa para executar uma solicitação GET com 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)
O snippet de código a seguir mostra valores de exemplo das várias propriedades na 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
Comentários
Para obter mais informações sobre essa API, consulte Comentários da API complementar para URI.
Construtores
Uri(SerializationInfo, StreamingContext) |
Obsoleto.
Inicializa uma nova instância da classe Uri das instâncias especificadas das classes SerializationInfo e StreamingContext. |
Uri(String) |
Inicializa uma nova instância da classe Uri com URI especificado. |
Uri(String, Boolean) |
Obsoleto.
Obsoleto.
Obsoleto.
Inicializa uma nova instância da classe Uri com o URI especificado, com controle explícito de escape de caractere. |
Uri(String, UriCreationOptions) |
Inicializa uma nova instância da Uri classe com o URI especificado e adicionais UriCreationOptions. |
Uri(String, UriKind) |
Inicializa uma nova instância da classe Uri com URI especificado. Este construtor permite que você especifique se a cadeia de caracteres do URI é um URI relativo, um URI absoluto ou indeterminado. |
Uri(Uri, String) |
Inicializa uma nova instância da classe Uri com base no URI base especificado e na cadeia de caracteres do URI relativo. |
Uri(Uri, String, Boolean) |
Obsoleto.
Obsoleto.
Obsoleto.
Inicializa uma nova instância da classe Uri baseada nos URIs de base e relativos especificados, com controle explícito de escape de caracteres. |
Uri(Uri, Uri) |
Inicializa uma nova instância da classe Uri com base na combinação de uma instância base de Uri especificada e uma instância de Uri relativa. |
Campos
SchemeDelimiter |
Especifica os caracteres que separam o esquema de protocolo de comunicação da parte do endereço do URI. Este campo é somente leitura. |
UriSchemeFile |
Especifica que o URI é um ponteiro para um arquivo. Este campo é somente leitura. |
UriSchemeFtp |
Especifica que o URI é acessado por meio do protocolo FTP. Este campo é somente leitura. |
UriSchemeFtps |
Especifica que o URI é acessado por meio do PROTOCOLO FTPS. Este campo é somente leitura. |
UriSchemeGopher |
Especifica que o URI é acessado por meio do protocolo Gopher. Este campo é somente leitura. |
UriSchemeHttp |
Especifica que o URI é acessado por meio do protocolo HTTP. Este campo é somente leitura. |
UriSchemeHttps |
Especifica que o URI é acessado por meio de HTTPS (Secure Hypertext Transfer Protocol). Este campo é somente leitura. |
UriSchemeMailto |
Especifica que o URI é um endereço de email e é acessado por meio do protocolo SMTP. Este campo é somente leitura. |
UriSchemeNetPipe |
Especifica que o URI é acessado por meio do esquema NetPipe usado pelo WCF (Windows Communication Foundation). Este campo é somente leitura. |
UriSchemeNetTcp |
Especifica que o URI é acessado por meio do esquema NetTcp usado pelo WCF (Windows Communication Foundation). Este campo é somente leitura. |
UriSchemeNews |
Especifica que o URI é um grupo de notícias da Internet e é acessado por meio do NNTP. Este campo é somente leitura. |
UriSchemeNntp |
Especifica que o URI é um grupo de notícias da Internet e é acessado por meio do NNTP. Este campo é somente leitura. |
UriSchemeSftp |
Especifica que o URI é acessado por meio do protocolo SFTP. Este campo é somente leitura. |
UriSchemeSsh |
Especifica que o URI é acessado por meio do protocolo SSH (Secure Socket Shell). Este campo é somente leitura. |
UriSchemeTelnet |
Especifica que o URI é acessado por meio do protocolo Telnet. Este campo é somente leitura. |
UriSchemeWs |
Especifica que o URI é acessado por meio do protocolo WebSocket (WS). Este campo é somente leitura. |
UriSchemeWss |
Especifica que o URI é acessado por meio do protocolo WebSocket Secure (WSS). Este campo é somente leitura. |
Propriedades
AbsolutePath |
Obtém o caminho absoluto do URI. |
AbsoluteUri |
Obtém o URI absoluto. |
Authority |
Obtém o nome do host do DNS (Sistema de Nomes de Domínio) ou o endereço IP e o número da porta para um servidor. |
DnsSafeHost |
Obtém um nome do host que, depois de não ser escapada, se necessário, é seguro para ser usado para a resolução de DNS. |
Fragment |
Obtém o fragmento de URI de escape, incluindo o caractere '#' à esquerda, se não estiver vazio. |
Host |
Obtém o componente de host desta instância. |
HostNameType |
Obtém o tipo do nome de host especificado no URI. |
IdnHost |
Obtém o Nome de Domínio Internacional compatível com RFC 3490 do host, usando Punycode conforme apropriado. Esta cadeia de caracteres, depois de não ser escapada, se necessário, é seguro para ser usado para a resolução de DNS. |
IsAbsoluteUri |
Obtém um valor que indica se a instância Uri é absoluta. |
IsDefaultPort |
Obtém um valor que indica se o valor da porta do URI é o padrão para esse esquema. |
IsFile |
Obtém um valor que indica se o Uri especificado é um URI de arquivo. |
IsLoopback |
Obtém um valor que indica se o Uri especificado faz referência ao host local. |
IsUnc |
Obtém um valor que indica se o Uri especificado é um caminho UNC (convenção de nomenclatura universal). |
LocalPath |
Obtém uma representação local do sistema operacional de um nome de arquivo. |
OriginalString |
Obtém a cadeia de caracteres do URI original que foi passada para o construtor Uri. |
PathAndQuery |
Obtém as propriedades AbsolutePath e Query separadas por um ponto de interrogação (?). |
Port |
Obtém o número da porta desse URI. |
Query |
Obtém qualquer informação de consulta incluída no URI especificado, incluindo o caractere '?' à esquerda, se não estiver vazio. |
Scheme |
Obtém o nome do esquema para esse URI. |
Segments |
Obtém uma matriz contendo os segmentos de caminho que compõem o URI especificado. |
UserEscaped |
Obtém um valor que indica se a cadeia de caracteres do URI sofreu escape completo antes da criação da instância Uri. |
UserInfo |
Obtém o nome de usuário, a senha ou outras informações específicas do usuário associado com o URI especificado. |
Métodos
Canonicalize() |
Obsoleto.
Obsoleto.
Obsoleto.
Converte o URI armazenado internamente em forma canônica. |
CheckHostName(String) |
Determina se o nome de host especificado é um nome DNS válido. |
CheckSchemeName(String) |
Determina se o nome do esquema especificado é válido. |
CheckSecurity() |
Obsoleto.
Obsoleto.
Obsoleto.
Chamar esse método não tem nenhum efeito. |
Compare(Uri, Uri, UriComponents, UriFormat, StringComparison) |
Compara as partes especificadas de dois URIs usando as regras de comparação especificadas. |
CreateObjRef(Type) |
Cria um objeto que contém todas as informações relevantes necessárias para gerar um proxy usado para se comunicar com um objeto remoto. (Herdado de MarshalByRefObject) |
Equals(Object) |
Compara duas instâncias de Uri quanto à igualdade. |
Escape() |
Obsoleto.
Obsoleto.
Obsoleto.
Converte caracteres reservados não seguros no componente de caminho para suas representações de caractere hexadecimal. |
EscapeDataString(ReadOnlySpan<Char>) |
Fornece uma representação de objeto de um URI (Uniform Resource Identifier) e fácil acesso às partes do URI. |
EscapeDataString(String) |
Converte uma cadeia de caracteres em sua representação de escape. |
EscapeString(String) |
Obsoleto.
Obsoleto.
Obsoleto.
Obsoleto.
Converte uma cadeia de caracteres em sua representação de escape. |
EscapeUriString(String) |
Obsoleto.
Obsoleto.
Converte uma cadeia de caracteres de URI para sua representação de escape. |
FromHex(Char) |
Obtém o valor decimal de um dígito hexadecimal. |
GetComponents(UriComponents, UriFormat) |
Obtém os componentes especificados da instância atual usando o escape especificado para caracteres especiais. |
GetHashCode() |
Obtém o código hash do URI. |
GetLeftPart(UriPartial) |
Obtém a parte especificada de uma instância de Uri. |
GetLifetimeService() |
Obsoleto.
Recupera o objeto de serviço de tempo de vida atual que controla a política de ciclo de vida para esta instância. (Herdado de MarshalByRefObject) |
GetObjectData(SerializationInfo, StreamingContext) |
Retorna os dados necessários para serializar a instância atual. |
GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
HexEscape(Char) |
Converte um caractere especificado em seu equivalente hexadecimal. |
HexUnescape(String, Int32) |
Converte uma representação hexadecimal especificada de um caractere no caractere. |
InitializeLifetimeService() |
Obsoleto.
Obtém um objeto de serviço de tempo de vida para controlar a política de tempo de vida para essa instância. (Herdado de MarshalByRefObject) |
IsBadFileSystemCharacter(Char) |
Obsoleto.
Obsoleto.
Obsoleto.
Indica se um caractere é inválido em um nome de sistema de arquivos. |
IsBaseOf(Uri) |
Determina se a instância Uri atual é uma base da instância Uri especificada. |
IsExcludedCharacter(Char) |
Obsoleto.
Obsoleto.
Obsoleto.
Determina se o caractere especificado deve ter escape. |
IsHexDigit(Char) |
Determina se um caractere especificado é um dígito hexadecimal válido. |
IsHexEncoding(String, Int32) |
Determina se um caractere em uma cadeia de caracteres é codificada em hexadecimal. |
IsReservedCharacter(Char) |
Obsoleto.
Obsoleto.
Obsoleto.
Determina se o caractere especificado é um caractere reservado. |
IsWellFormedOriginalString() |
Indica se a cadeia de caracteres usada para construir o Uri foi bem formada e não requer escape adicional. |
IsWellFormedUriString(String, UriKind) |
Indica se a cadeia de caracteres é bem formada pela tentativa de construir um URI com a cadeia de caracteres e garante que a cadeia de caracteres não requer mais de escape. |
MakeRelative(Uri) |
Obsoleto.
Obsoleto.
Obsoleto.
Obsoleto.
Determina a diferença entre duas instâncias Uri. |
MakeRelativeUri(Uri) |
Determina a diferença entre duas instâncias Uri. |
MemberwiseClone() |
Cria uma cópia superficial do Object atual. (Herdado de Object) |
MemberwiseClone(Boolean) |
Cria uma cópia superficial do objeto MarshalByRefObject atual. (Herdado de MarshalByRefObject) |
Parse() |
Obsoleto.
Obsoleto.
Obsoleto.
Analisa o URI da instância atual para garantir que contenha todas as partes necessárias para um URI válido. |
ToString() |
Obtém uma representação de cadeia de caracteres canônica para a instância Uri especificada. |
TryCreate(String, UriCreationOptions, Uri) |
Cria um novo Uri usando a instância especificada String e UriCreationOptions. |
TryCreate(String, UriKind, Uri) |
Cria um novo Uri usando a instância String especificada e um UriKind. |
TryCreate(Uri, String, Uri) |
Cria um novo Uri usando a base especificada e as instâncias de String relativas. |
TryCreate(Uri, Uri, Uri) |
Cria um novo Uri usando a base especificada e as instâncias de Uri relativas. |
TryEscapeDataString(ReadOnlySpan<Char>, Span<Char>, Int32) |
Fornece uma representação de objeto de um URI (Uniform Resource Identifier) e fácil acesso às partes do URI. |
TryFormat(Span<Char>, Int32) |
Tenta formatar uma representação de cadeia de caracteres canônica para a Uri instância no intervalo especificado. |
TryUnescapeDataString(ReadOnlySpan<Char>, Span<Char>, Int32) |
Fornece uma representação de objeto de um URI (Uniform Resource Identifier) e fácil acesso às partes do URI. |
Unescape(String) |
Obsoleto.
Obsoleto.
Obsoleto.
Converte a cadeia de caracteres especificada substituindo as sequências de escape por sua representação sem escape. |
UnescapeDataString(ReadOnlySpan<Char>) |
Fornece uma representação de objeto de um URI (Uniform Resource Identifier) e fácil acesso às partes do URI. |
UnescapeDataString(String) |
Converte uma cadeia de caracteres em sua representação sem escape. |
Operadores
Equality(Uri, Uri) |
Determina se duas instâncias Uri têm o mesmo valor. |
Inequality(Uri, Uri) |
Determina se duas instâncias de Uri não têm o mesmo valor. |
Implantações explícitas de interface
IFormattable.ToString(String, IFormatProvider) |
Formata o valor da instância atual usando o formato especificado. |
ISerializable.GetObjectData(SerializationInfo, StreamingContext) |
Retorna os dados necessários para serializar a instância atual. |
ISpanFormattable.TryFormat(Span<Char>, Int32, ReadOnlySpan<Char>, IFormatProvider) |
Tenta formatar o valor da instância atual no intervalo de caracteres fornecido. |
Aplica-se a
Acesso thread-safe
Todos os membros do Uri são thread-safe e podem ser usados simultaneamente de vários threads.
Confira também
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de