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 : 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
- Herança
-
Uri
- Herança
- Atributos
- Implementações
Exemplos
O exemplo a seguir cria uma instância da classe Uri e a 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 o 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 classe Uri com o URI especificado e UriCreationOptionsadicionais. |
Uri(String, UriKind) |
Inicializa uma nova instância da classe Uri com o URI especificado. Esse construtor permite que você especifique se a cadeia de caracteres de 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 de URI relativa. |
Uri(Uri, String, Boolean) |
Obsoleto.
Obsoleto.
Obsoleto.
Inicializa uma nova instância da classe Uri com base nas URIs base e relativas especificadas, com controle explícito de escape de caractere. |
Uri(Uri, Uri) |
Inicializa uma nova instância da classe Uri com base na combinação de uma instância de Uri base especificada e uma instância de Uri relativa. |
Campos
SchemeDelimiter |
Especifica os caracteres que separam o esquema de protocolo de comunicação da parte de 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 FTP (Protocolo de Transferência de Arquivo). Este campo é somente leitura. |
UriSchemeFtps |
Especifica que o URI é acessado por meio do FTPS (File Transfer Protocol Secure). 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 HTTP (Protocolo de Transferência de Hipertexto). Este campo é somente leitura. |
UriSchemeHttps |
Especifica que o URI é acessado por meio do PROTOCOLO 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 (Protocolo de Transporte de Notícias de Rede). Este campo é somente leitura. |
UriSchemeNntp |
Especifica que o URI é um grupo de notícias da Internet e é acessado por meio do NNTP (Protocolo de Transporte de Notícias de Rede). Este campo é somente leitura. |
UriSchemeSftp |
Especifica que o URI é acessado por meio do Protocolo SSH de Transferência de Arquivo (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 de host ou o endereço IP do DNS (Sistema de Nomes de Domínio) e o número da porta de um servidor. |
DnsSafeHost |
Obtém um nome de host que, depois de não ser possível, se necessário, é seguro de usar para resolução DNS. |
Fragment |
Obtém o fragmento de URI com escape, incluindo o caractere '#' à esquerda, se não estiver vazio. |
Host |
Obtém o componente host dessa instância. |
HostNameType |
Obtém o tipo do nome do host especificado no URI. |
IdnHost |
Obtém o Nome de Domínio Internacional compatível com RFC 3490 do host, usando Punycode conforme apropriado. Essa cadeia de caracteres, depois de não ser removida, se necessário, é segura de usar para resolução DNS. |
IsAbsoluteUri |
Obtém um valor que indica se a instância de 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 do sistema operacional local de um nome de arquivo. |
OriginalString |
Obtém a cadeia de caracteres de 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 que contém os segmentos de caminho que compõem o URI especificado. |
UserEscaped |
Obtém um valor que indica se a cadeia de caracteres de URI foi completamente escapada antes da instância de Uri ser criada. |
UserInfo |
Obtém o nome de usuário, a senha ou outras informações específicas do usuário associadas ao URI especificado. |
Métodos
Canonicalize() |
Obsoleto.
Obsoleto.
Obsoleto.
Converte o URI armazenado internamente em forma canônica. |
CheckHostName(String) |
Determina se o nome do 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 efeito. |
Compare(Uri, Uri, UriComponents, UriFormat, StringComparison) |
Compara as partes especificadas de duas 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 para igualdade. |
Equals(Uri) |
Compara duas instâncias de Uri para igualdade. |
Escape() |
Obsoleto.
Obsoleto.
Obsoleto.
Converte quaisquer caracteres não seguros ou reservados no componente de caminho em suas representações de caractere hexadecimal. |
EscapeDataString(ReadOnlySpan<Char>) |
Converte um intervalo em sua representação de escape. |
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 em 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 para o 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 tempo de vida para essa 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 dessa 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 de Uri especificada. |
IsExcludedCharacter(Char) |
Obsoleto.
Obsoleto.
Obsoleto.
Determina se o caractere especificado deve ser escapado. |
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 é codificado hexadecimal. |
IsReservedCharacter(Char) |
Obsoleto.
Obsoleto.
Obsoleto.
Determina se o caractere especificado é um caractere reservado. |
IsWellFormedOriginalString() |
Indica se a cadeia de caracteres usada para construir esse Uri foi bem formada e não requer escape adicional. |
IsWellFormedUriString(String, UriKind) |
Indica se a cadeia de caracteres está bem formada ao tentar construir um URI com a cadeia de caracteres e garante que a cadeia de caracteres não exija escape adicional. |
MakeRelative(Uri) |
Obsoleto.
Obsoleto.
Obsoleto.
Obsoleto.
Determina a diferença entre duas instâncias de Uri. |
MakeRelativeUri(Uri) |
Determina a diferença entre duas instâncias de Uri. |
MemberwiseClone() |
Cria uma cópia superficial do Objectatual. (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 ele 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 de Uri especificada. |
TryCreate(String, UriCreationOptions, Uri) |
Cria um novo Uri usando a instância de String especificada e UriCreationOptions. |
TryCreate(String, UriKind, Uri) |
Cria um novo Uri usando a instância de String especificada e um UriKind. |
TryCreate(Uri, String, Uri) |
Cria uma nova Uri usando as instâncias de base e String relativas especificadas. |
TryCreate(Uri, Uri, Uri) |
Cria uma nova Uri usando as instâncias de base e Uri relativas especificadas. |
TryEscapeDataString(ReadOnlySpan<Char>, Span<Char>, Int32) |
Tenta converter um intervalo em sua representação de escape. |
TryFormat(Span<Char>, Int32) |
Tenta formatar uma representação de cadeia de caracteres canônica para a instância de Uri no intervalo especificado. |
TryUnescapeDataString(ReadOnlySpan<Char>, Span<Char>, Int32) |
Tenta converter um intervalo em sua representação sem escape. |
Unescape(String) |
Obsoleto.
Obsoleto.
Obsoleto.
Converte a cadeia de caracteres especificada substituindo todas as sequências de escape por sua representação sem escape. |
UnescapeDataString(ReadOnlySpan<Char>) |
Converte um intervalo em sua representação sem escape. |
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 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 de Uri são thread-safe e podem ser usados simultaneamente de vários threads.
Confira também
- IdnElement
- IriParsingElement
- UriSection
- DnsSafeHost
- MakeRelative(Uri)
- IsWellFormedOriginalString()
- UriBuilder
- alterações no namespace System.Uri na versão 2.0
- suporte ao Identificador de Recurso Internacional no System.UriSystem.Uri
- programação de rede no do .NET Framework