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 : MarshalByRefObject, System::Runtime::Serialization::ISerializable
public ref class Uri : System::Runtime::Serialization::ISerializable
public class Uri
[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
public class Uri : System.Runtime.Serialization.ISerializable
type Uri = class
[<System.Serializable>]
type Uri = class
inherit MarshalByRefObject
interface ISerializable
[<System.Serializable>]
[<System.ComponentModel.TypeConverter(typeof(System.UriTypeConverter))>]
type Uri = class
interface ISerializable
type Uri = class
interface ISerializable
Public Class Uri
Public Class Uri
Inherits MarshalByRefObject
Implements ISerializable
Public Class Uri
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 = 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
| Nome | Description |
|---|---|
| Uri(SerializationInfo, StreamingContext) |
Inicializa uma nova instância da classe das Uri instâncias e SerializationInfo classes StreamingContext especificadas. |
| Uri(String, Boolean) |
Obsoleto.
Obsoleto.
Inicializa uma nova instância da Uri classe com o URI especificado, com controle explícito de escape de caractere. |
| Uri(String, UriKind) |
Inicializa uma nova instância da Uri classe 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(String) |
Inicializa uma nova instância da Uri classe com o URI especificado. |
| Uri(Uri, String, Boolean) |
Obsoleto.
Obsoleto.
Inicializa uma nova instância da Uri classe com base nas URIs base e relativas especificadas, com controle explícito de escape de caractere. |
| Uri(Uri, String) |
Inicializa uma nova instância da Uri classe com base no URI base especificado e na cadeia de caracteres de URI relativa. |
| Uri(Uri, Uri) |
Inicializa uma nova instância da Uri classe com base na combinação de uma instância base Uri especificada e de uma instância relativa Uri . |
Campos
| Nome | Description |
|---|---|
| SchemeDelimiter |
Especifica os caracteres que separam o esquema de protocolo de comunicação da parte de endereço do URI. O campo é somente leitura. |
| UriSchemeFile |
Especifica que o URI é um ponteiro para um arquivo. O campo é somente leitura. |
| UriSchemeFtp |
Especifica que o URI é acessado por meio do FTP (Protocolo de Transferência de Arquivo). O campo é somente leitura. |
| UriSchemeGopher |
Especifica que o URI é acessado por meio do protocolo Gopher. O campo é somente leitura. |
| UriSchemeHttp |
Especifica que o URI é acessado por meio do HTTP (Protocolo de Transferência de Hipertexto). O campo é somente leitura. |
| UriSchemeHttps |
Especifica que o URI é acessado por meio do PROTOCOLO HTTPS (Secure Hypertext Transfer Protocol). O campo é somente leitura. |
| UriSchemeMailto |
Especifica que o URI é um endereço de email e é acessado por meio do Protocolo SMTP. O campo é somente leitura. |
| UriSchemeNetPipe |
Especifica que o URI é acessado por meio do esquema NetPipe usado pelo WCF (Windows Communication Foundation). O campo é somente leitura. |
| UriSchemeNetTcp |
Especifica que o URI é acessado por meio do esquema NetTcp usado pelo WCF (Windows Communication Foundation). O 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). O 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). O campo é somente leitura. |
Propriedades
| Nome | Description |
|---|---|
| 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 Uri instância é 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 especificado Uri é um URI de arquivo. |
| IsLoopback |
Obtém um valor que indica se o host local faz Uri referência especificado. |
| IsUnc |
Obtém um valor que indica se o especificado Uri é 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 Uri construtor. |
| PathAndQuery |
Obtém o e AbsolutePath as Query propriedades 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 de a Uri instância 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
| Nome | Description |
|---|---|
| Canonicalize() |
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.
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 Uri instâncias para igualdade. |
| Escape() |
Obsoleto.
Obsoleto.
Converte quaisquer caracteres não seguros ou reservados no componente de caminho em suas representações de caractere hexadecimal. |
| EscapeDataString(String) |
Converte uma cadeia de caracteres em sua representação de escape. |
| EscapeString(String) |
Obsoleto.
Obsoleto.
Converte uma cadeia de caracteres em sua representação de escape. |
| EscapeUriString(String) |
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 Uri instância. |
| GetLifetimeService() |
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() |
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.
Indica se um caractere é inválido em um nome de sistema de arquivos. |
| IsBaseOf(Uri) |
Determina se a instância atual Uri é uma base da instância especificada Uri . |
| IsExcludedCharacter(Char) |
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.
Determina se o caractere especificado é um caractere reservado. |
| IsWellFormedOriginalString() |
Indica se a cadeia de caracteres usada para construir isso 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.
Determina a diferença entre duas Uri instâncias. |
| MakeRelativeUri(Uri) |
Determina a diferença entre duas Uri instâncias. |
| MemberwiseClone() |
Cria uma cópia superficial do Objectatual. (Herdado de Object) |
| Parse() |
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 especificada Uri . |
| TryCreate(String, UriKind, Uri) |
Cria um novo Uri usando a instância especificada String e um UriKind. |
| TryCreate(Uri, String, Uri) |
Cria um novo Uri usando a base especificada e instâncias relativas String . |
| TryCreate(Uri, Uri, Uri) |
Cria um novo Uri usando a base especificada e instâncias relativas Uri . |
| Unescape(String) |
Obsoleto.
Obsoleto.
Converte a cadeia de caracteres especificada substituindo todas as sequências de escape por sua representação sem escape. |
| UnescapeDataString(String) |
Converte uma cadeia de caracteres em sua representação sem escape. |
Operadores
| Nome | Description |
|---|---|
| Equality(Uri, Uri) |
Determina se duas Uri instâncias têm o mesmo valor. |
| Inequality(Uri, Uri) |
Determina se duas Uri instâncias não têm o mesmo valor. |
Implantações explícitas de interface
| Nome | Description |
|---|---|
| ISerializable.GetObjectData(SerializationInfo, StreamingContext) |
Retorna os dados necessários para serializar a instância atual. |
Aplica-se a
Acesso thread-safe
Todos os membros são Uri thread-safe e podem ser usados simultaneamente de vários threads.