Uri Classe

Definição

Fornece uma representação de objeto de um URI (Uniform Resource Identifier) e fácil acesso às partes do URI.Provides an object representation of a uniform resource identifier (URI) and easy access to the parts of the URI.

public ref class Uri : System::Runtime::Serialization::ISerializable
[System.ComponentModel.TypeConverter(typeof(System.UriTypeConverter))]
[System.Serializable]
public class Uri : System.Runtime.Serialization.ISerializable
type Uri = class
    interface ISerializable
Public Class Uri
Implements ISerializable
Herança
Atributos
Implementações

Exemplos

O exemplo a seguir cria uma instância da classe Uri e a usa para criar uma instância de WebRequest.The following example creates an instance of the Uri class and uses it to create a WebRequest instance.

Uri^ siteUri = gcnew Uri( "http://www.contoso.com/" );
WebRequest^ wr = WebRequest::Create( siteUri );
Uri siteUri = new Uri("http://www.contoso.com/");
 
WebRequest wr = WebRequest.Create(siteUri);

Dim siteUri As New Uri("http://www.contoso.com/")
        
Dim wr As WebRequest = WebRequest.Create(siteUri)

Comentários

Um URI é uma representação compacta de um recurso disponível para seu aplicativo na intranet ou na Internet.A URI is a compact representation of a resource available to your application on the intranet or Internet. A classe Uri define as propriedades e os métodos para lidar com URIs, incluindo análise, comparação e combinação.The Uri class defines the properties and methods for handling URIs, including parsing, comparing, and combining. As propriedades da classe Uri são somente leitura; para criar um objeto modificável, use a classe UriBuilder.The Uri class properties are read-only; to create a modifiable object, use the UriBuilder class.

Os URIs relativos (por exemplo, "/new/index.htm") devem ser expandidos em relação a um URI de base para que sejam absolutos.Relative URIs (for example, "/new/index.htm") must be expanded with respect to a base URI so that they are absolute. O método MakeRelative é fornecido para converter URIs absolutos em URIs relativos quando necessário.The MakeRelative method is provided to convert absolute URIs to relative URIs when necessary.

Os construtores de Uri não escapar cadeias de caracteres URI se a cadeia de caracteres for um URI bem formado, incluindo um identificador de esquema.The Uri constructors do not escape URI strings if the string is a well-formed URI including a scheme identifier.

As propriedades Uri retornam uma representação de dados canônica em codificação de escape, com todos os caracteres com valores Unicode maiores que 127 substituídos por seus equivalentes hexadecimais.The Uri properties return a canonical data representation in escaped encoding, with all characters with Unicode values greater than 127 replaced with their hexadecimal equivalents. Para colocar o URI em forma canônica, o construtor de Uri executa as seguintes etapas:To put the URI in canonical form, the Uri constructor performs the following steps:

  • Converte o esquema de URI em minúsculas.Converts the URI scheme to lowercase.

  • Converte o nome do host em minúsculas.Converts the host name to lowercase.

  • Se o nome do host for um endereço IPv6, o endereço IPv6 canônico será usado.If the host name is an IPv6 address, the canonical IPv6 address is used. ScopeId e outros dados IPv6 opcionais são removidos.ScopeId and other optional IPv6 data are removed.

  • Remove os números de porta padrão e vazio.Removes default and empty port numbers.

  • Converte caminhos de arquivo implícitos sem o esquema file://(por exemplo, "C:\my\file") para caminhos de arquivo explícitos com o esquema file://.Converts implicit file paths without the file:// scheme (for example, "C:\my\file") to explicit file paths with the file:// scheme.

  • Caracteres de escape (também conhecidos como octetos codificados por porcentagem) que não têm uma finalidade reservada são decodificados (também conhecido como sem escape).Escaped characters (also known as percent-encoded octets) that don't have a reserved purpose are decoded (also known as being unescaped). Esses caracteres não reservados incluem letras maiúsculas e minúsculas (%41-% 5A e %61-% 7A), dígitos decimais (%30-%39), hífen (% 2D), período (% 2E), sublinhado (% 5F) e til (% 7E).These unreserved characters include uppercase and lowercase letters (%41-%5A and %61-%7A), decimal digits (%30-%39), hyphen (%2D), period (%2E), underscore (%5F), and tilde (%7E).

  • Canonicalizes o caminho para URIs hierárquicas compactando sequências como/./,/.. /e//(se a sequência tiver ou não escape).Canonicalizes the path for hierarchical URIs by compacting sequences such as /./, /../, and // (whether or not the sequence is escaped). Observe que há alguns esquemas para os quais essas sequências não são compactadas.Note that there are some schemes for which these sequences are not compacted.

  • Para URIs hierárquicos, se o host não for encerrado com uma barra (/), um será adicionado.For hierarchical URIs, if the host is not terminated with a forward slash (/), one is added.

  • Por padrão, todos os caracteres reservados no URI são ignorados de acordo com a RFC 2396.By default, any reserved characters in the URI are escaped in accordance with RFC 2396. Esse comportamento muda se os identificadores de recursos internacionais ou a análise de nome de domínio internacional estiver habilitada, caso em que caracteres reservados no URI são ignorados de acordo com RFC 3986 e RFC 3987.This behavior changes if International Resource Identifiers or International Domain Name parsing is enabled in which case reserved characters in the URI are escaped in accordance with RFC 3986 and RFC 3987.

Como parte da canonização no construtor para alguns esquemas, segmentos de ponto e segmentos vazios (/./,/.) /e//) são compactados (em outras palavras, são removidos).As part of canonicalization in the constructor for some schemes, dot-segments and empty segments (/./, /../, and //) are compacted (in other words, they are removed). Os esquemas para os quais o URI compactará essas sequências incluem http, HTTPS, TCP, net. pipe e net. TCP.The schemes for which URI will compact these sequences include http, https, tcp, net.pipe, and net.tcp. Para alguns outros esquemas, essas sequências não são compactadas.For some other schemes, these sequences are not compacted. Veja como essa compactação é examinada na prática.Here's how this compacting looks in practice.

var uri = new Uri("http://myUrl/../.."); // http scheme, unescaped
OR
var uri = new Uri("http://myUrl/%2E%2E/%2E%2E"); // http scheme, escaped
OR
var uri = new Uri("ftp://myUrl/../.."); // ftp scheme, unescaped
OR
var uri = new Uri("ftp://myUrl/%2E%2E/%2E%2E"); // ftp scheme, escaped

Console.WriteLine(uri.AbsoluteUri);  
Console.WriteLine(uri.PathAndQuery);  

Quando esse código é executado, ele retorna a saída a seguir, com as sequências de escape sem escape, se necessário, e então compactada.When this code is executed, it returns the following output, with the escaped sequences unescaped if necessary and then compacted.

http://myUrl/  
/  

Você pode transformar o conteúdo da classe Uri de uma referência URI codificada de escape para uma referência de URI legível usando o método ToString.You can transform the contents of the Uri class from an escape encoded URI reference to a readable URI reference by using the ToString method. Observe que alguns caracteres reservados ainda podem ser ignorados na saída do método ToString.Note that some reserved characters might still be escaped in the output of the ToString method. Isso é para dar suporte à reconstrução não ambígua de um URI a partir do valor retornado por ToString.This is to support unambiguous reconstruction of a URI from the value returned by ToString.

Alguns URIs incluem um identificador de fragmento ou uma consulta ou ambos.Some URIs include a fragment identifier or a query or both. Um identificador de fragmento é qualquer texto que segue um sinal numérico (#), sem incluir o sinal numérico; o texto do fragmento é armazenado na propriedade Fragment.A fragment identifier is any text that follows a number sign (#), not including the number sign; the fragment text is stored in the Fragment property. Informações de consulta são qualquer texto que segue um ponto de interrogação (?) no URI; o texto da consulta é armazenado na propriedade Query.Query information is any text that follows a question mark (?) in the URI; the query text is stored in the Query property.

No .NET Framework versão 1,1, se a cadeia de caracteres especificada para um Construtor contiver um esquema desconhecido e "c:\", a classe Uri inserirá "//" após os dois-pontos.In the .NET Framework version 1.1, if the string specified to a constructor contains an unknown scheme and "c:\", the Uri class inserts "//" after the colon. Por exemplo, o URI xyz:c:\abc é convertido em xyz://c:/abc.For example, the URI xyz:c:\abc is converted to xyz://c:/abc. No .NET Framework versão 2,0, esse comportamento foi removido e a cadeia de caracteres de exemplo é convertida em xyz:c:/abc.In the .NET Framework version 2.0, this behavior has been removed, and the example string is converted to xyz:c:/abc.

Observação

A classe URI dá suporte ao uso de endereços IP na notação quádrupla para o protocolo IPv4 e hexadecimal-vírgula para o protocolo IPv6.The URI class supports the use of IP addresses in both quad-notation for IPv4 protocol and colon-hexadecimal for IPv6 protocol. Lembre-se de colocar o endereço IPv6 entre colchetes, como em http://[:: 1].Remember to enclose the IPv6 address in square brackets, as in http://[::1].

Suporte ao identificador do recurso internacionalInternational Resource Identifier Support

Os endereços Web normalmente são expressos usando identificadores de recursos uniformes que consistem em um conjunto muito restrito de caracteres:Web addresses are typically expressed using uniform resource identifiers that consist of a very restricted set of characters:

  • Letras maiúsculas e minúsculas ASCII do alfabeto inglês.Upper and lower case ASCII letters from the English alphabet.

  • Dígitos de 0 a 9.Digits from 0 to 9.

  • Um pequeno número de outros símbolos ASCII.A small number of other ASCII symbols.

As especificações para URIs são documentadas em RFC 2396, RFC 2732, RFC 3986 e RFC 3987 publicadas pela Internet Engineering Task Force (IETF).The specifications for URIs are documented in RFC 2396, RFC 2732, RFC 3986, and RFC 3987 published by the Internet Engineering Task Force (IETF).

Com o crescimento da Internet, há uma necessidade crescente de identificar recursos com idiomas diferentes do inglês.With the growth of the Internet, there is a growing need to identify resources using languages other than English. Identificadores que facilitam a essa necessidade e permitem que os caracteres não ASCII (caracteres no conjunto de caracteres Unicode/ISO 10646) são conhecidos como IRIs (International Resource Identifiers).Identifiers which facilitate this need and allow non-ASCII characters (characters in the Unicode/ISO 10646 character set) are known as International Resource Identifiers (IRIs). As especificações de IRIs estão documentadas na RFC 3987, publicado pela IETF.The specifications for IRIs are documented in RFC 3987 published by IETF. O uso de IRIs permite que uma URL contenha caracteres Unicode.Using IRIs allows a URL to contain Unicode characters.

A classe de Uri existente foi estendida no .NET Framework v 3.5, 3,0 SP1 e 2,0 SP1 para fornecer suporte IRI com base na RFC 3987.The existing Uri class has been extended in .NET Framework v3.5, 3.0 SP1, and 2.0 SP1 to provide IRI support based on RFC 3987. Os usuários de versões do .NET Framework anteriores à versão 4,5 não verão nenhuma alteração do comportamento de .NET Framework 2,0, a menos que eles habilitem especificamente o IRI.Users of .NET Framework versions before version 4.5 will not see any change from the .NET Framework 2.0 behavior unless they specifically enable IRI. Isso garante a compatibilidade do aplicativo com versões anteriores do .NET Framework.This ensures application compatibility with prior versions of the .NET Framework.

Para habilitar o suporte para IRI, a seguinte alteração é necessária:To enable support for IRI, the following change is required:

  • Especifique se você deseja a análise de nome de domínio internacionalizado (IDN) aplicada ao nome de domínio e se as regras de análise de IRI devem ser aplicadas.Specify whether you want Internationalized Domain Name (IDN) parsing applied to the domain name and whether IRI parsing rules should be applied. Isso pode ser feito no Machine. config ou no arquivo app. config .This can be done in the machine.config or in the app.config file. Por exemplo, adicione o seguinte:For example, add the following:

    <configuration>  
      <uri>  
      <idn enabled="All" />  
      <iriParsing enabled="true" />  
      </uri>  
    </configuration>  
    

Os usuários do .NET Framework 4,5 e mais recentes sempre têm o IRI habilitado.Users of .NET Framework 4.5 and newer always have IRI enabled. A análise de IRI não pode ser alterada usando um arquivo . config .IRI parsing cannot be changed using a .config file.

Habilitar o IDN converterá todos os rótulos Unicode de um nome de domínio para seus equivalentes em Punycode.Enabling IDN will convert all Unicode labels in a domain name to their Punycode equivalents. Os nomes Punycode contêm apenas caracteres ASCII e sempre começam com o prefixo xn--.Punycode names contain only ASCII characters and always start with the xn-- prefix. A razão para isso é dar suporte a servidores DNS existentes na Internet, pois a maioria dos servidores DNS dá suporte somente a caracteres ASCII (consulte RFC 3940).The reason for this is to support existing DNS servers on the Internet, since most DNS servers only support ASCII characters (see RFC 3940).

Habilitar IRI e IDN afeta o valor da propriedade Uri.DnsSafeHost.Enabling IRI and IDN affects the value of the Uri.DnsSafeHost property. Habilitar IRI e IDN também pode alterar o comportamento dos métodos Equals, OriginalString, GetComponents e IsWellFormedOriginalString.Enabling IRI and IDN can also change the behavior of the Equals, OriginalString, GetComponents, and IsWellFormedOriginalString methods.

Há três valores possíveis para IDN, dependendo dos servidores DNS que são usados:There are three possible values for IDN depending on the DNS servers that are used:

  • IDN habilitado = todosidn enabled = All

    Esse valor converterá todos os nomes de domínio Unicode em seus equivalentes do Punycode (nomes IDN).This value will convert any Unicode domain names to their Punycode equivalents (IDN names).

  • IDN habilitado = AllExceptIntranetidn enabled = AllExceptIntranet

    Esse valor converterá todos os nomes de domínio Unicode que não estão na intranet local para usar os equivalentes Punycode (nomes IDN).This value will convert all Unicode domain names not on the local Intranet to use the Punycode equivalents (IDN names). Nesse caso, para lidar com nomes internacionais na intranet local, os servidores DNS que são usados para a intranet devem dar suporte à resolução de nomes Unicode.In this case to handle international names on the local Intranet, the DNS servers that are used for the Intranet should support Unicode name resolution.

  • IDN habilitado = nenhumidn enabled = None

    Esse valor não converterá nenhum nome de domínio Unicode para usar o Punycode.This value will not convert any Unicode domain names to use Punycode. Esse é o valor padrão que é consistente com o comportamento .NET Framework 2,0.This is the default value which is consistent with the .NET Framework 2.0 behaviour.

Quando a análise de IRI está habilitada (iriParsing habilitado = true) a normalização e a verificação de caracteres são feitas de acordo com as regras de IRI mais recentes em RFC 3986 e RFC 3987.When IRI parsing is enabled (iriParsing enabled = true) normalization and character checking are done according to the latest IRI rules in RFC 3986 and RFC 3987. Quando a análise de IRI está desabilitada, a normalização e a verificação de caracteres são executadas de acordo com RFC 2396 e RFC 2732 (para literais IPv6).When IRI parsing is disabled, normalization and character checking are performed according to RFC 2396 and RFC 2732 (for IPv6 literals). Em versões do .NET Framework antes da versão 4,5, o valor padrão é false.In versions of the .NET Framework before version 4.5, the default value is false. No .NET Framework versão 4,5 e mais recente, o valor padrão é truee o estado habilitado da análise IRI não pode ser modificado por configurações em um arquivo . config .In .NET Framework version 4.5 and newer, the default value is true, and the enabled state of IRI parsing cannot be modified by settings in a .config file.

O processamento de IRI e IDN na classe Uri também pode ser controlado usando as classes de configuração System.Configuration.IriParsingElement, System.Configuration.IdnElemente System.Configuration.UriSection.IRI and IDN processing in the Uri class can also be controlled using the System.Configuration.IriParsingElement, System.Configuration.IdnElement, and System.Configuration.UriSection configuration setting classes. A configuração System.Configuration.IriParsingElement habilita ou desabilita o processamento de IRI na classe Uri.The System.Configuration.IriParsingElement setting enables or disables IRI processing in the Uri class. A configuração System.Configuration.IdnElement habilita ou desabilita o processamento de IDN na classe Uri.The System.Configuration.IdnElement setting enables or disables IDN processing in the Uri class. A configuração System.Configuration.IriParsingElement também controla indiretamente o IDN.The System.Configuration.IriParsingElement setting also indirectly controls IDN. O processamento de IRI deve estar habilitado para que o processamento de IDN seja possível.IRI processing must be enabled for IDN processing to be possible. Se o processamento de IRI estiver desabilitado, o processamento de IDN será definido para a configuração padrão, na qual o comportamento do .NET Framework 2.0 será usado para fins de compatibilidade e nomes IDN não serão usados.If IRI processing is disabled, then IDN processing will be set to the default setting where the .NET Framework 2.0 behavior is used for compatibility and IDN names are not used.

O parâmetro de configuração para o System.Configuration.IriParsingElement e System.Configuration.IdnElement será lido uma vez quando a primeira classe System.Uri for construída.The configuration setting for the System.Configuration.IriParsingElement and System.Configuration.IdnElement will be read once when the first System.Uri class is constructed. Alterações nas configurações depois desse tempo serão ignoradas.Changes to configuration settings after that time are ignored.

A classe System.GenericUriParser também foi estendida para permitir a criação de um analisador personalizável que dá suporte a IRI e IDN.The System.GenericUriParser class has also been extended to allow creating a customizable parser that supports IRI and IDN. O comportamento de um objeto System.GenericUriParser é especificado passando-se uma combinação bit a bit dos valores disponíveis na enumeração System.GenericUriParserOptions para o construtor System.GenericUriParser.The behavior of a System.GenericUriParser object is specified by passing a bitwise combination of the values available in the System.GenericUriParserOptions enumeration to the System.GenericUriParser constructor. O tipo GenericUriParserOptions.IriParsing que indica que o analisador dá suporte às regras de análise especificadas na RFC 3987 para IRI (Identificadores de Recurso Internacional).The GenericUriParserOptions.IriParsing type indicates the parser supports the parsing rules specified in RFC 3987 for International Resource Identifiers (IRI). Se IRI é usado, é ditado pelos valores de configuração discutidos anteriormente.Whether IRI is used is dictated by the configuration values previously discussed.

O tipo GenericUriParserOptions.Idn indica que o analisador dá suporte à análise de IDN (Nome de Domínio Internacionalizado) dos nomes de host.The GenericUriParserOptions.Idn type indicates the parser supports Internationalized Domain Name (IDN) parsing (IDN) of host names. Se o IDN é usado, determinado pelos valores de configuração discutidos anteriormente.Whether IDN is used is dictated by the configuration values previously discussed.

Suporte a caminho de arquivo implícitoImplicit File Path Support

Uri também pode ser usado para representar caminhos do sistema de arquivos local.Uri can also be used to represent local file system paths. Esses caminhos podem ser representados explicitamente em URIs que começam com o esquema file://e implicitamente em URIs que não têm o esquema file://.These paths can be represented explicitly in URIs that begin with the file:// scheme, and implicitly in URIs that do not have the file:// scheme. Como exemplo concreto, os dois URIs a seguir são válidos e representam o mesmo caminho de arquivo:As a concrete example, the following two URIs are both valid, and represent the same file path:

Uri uri1 = new Uri("C:/test/path/file.txt") // Implicit file path.
Uri uri2 = new Uri("file:///C:/test/path/file.txt") // Explicit file path.

Esses caminhos de arquivo implícitos não são compatíveis com a especificação de URI e, portanto, devem ser evitados quando possível.These implicit file paths are not compliant with the URI specification and so should be avoided when possible. Ao usar o .NET Core em sistemas baseados em UNIX, caminhos de arquivo implícitos podem ser especialmente problemáticos, pois um caminho de arquivo implícito absoluto é indistinguíveis de um caminho relativo.When using .NET Core on Unix-based systems, implicit file paths can be especially problematic, because an absolute implicit file path is indistinguishable from a relative path. Quando essa ambiguidade estiver presente, Uri padrão para interpretar o caminho como um URI absoluto.When such ambiguity is present, Uri default to interpreting the path as an absolute URI.

Considerações sobre desempenhoPerformance Considerations

Se você usar um arquivo Web. config * * que contenha URIs para inicializar seu aplicativo, será necessário tempo adicional para processar os URIs se seus identificadores de esquema não forem padrão.If you use a *Web.config *file that contains URIs to initialize your application, additional time is required to process the URIs if their scheme identifiers are nonstandard. Nesse caso, inicialize as partes afetadas do seu aplicativo quando os URIs forem necessários, não na hora de início.In such a case, initialize the affected parts of your application when the URIs are needed, not at start time.

Notas aos Chamadores

Devido a questões de segurança, seu aplicativo deve ter cuidado ao aceitar instâncias de Uri de fontes não confiáveis e com dontEscape definido como true. Você pode verificar uma cadeia de caracteres de URI para fins de validade chamando o método IsWellFormedOriginalString().Because of security concerns, your application should use caution when accepting Uri instances from untrusted sources and with dontEscape set to true.You can check a URI string for validity by calling the IsWellFormedOriginalString() method.

Construtores

Uri(SerializationInfo, StreamingContext)

Inicializa uma nova instância da classe Uri das instâncias especificadas das classes SerializationInfo e StreamingContext.Initializes a new instance of the Uri class from the specified instances of the SerializationInfo and StreamingContext classes.

Uri(String)

Inicializa uma nova instância da classe Uri com URI especificado.Initializes a new instance of the Uri class with the specified URI.

Uri(String, Boolean)

Inicializa uma nova instância da classe Uri com o URI especificado, com controle explícito de escape de caractere.Initializes a new instance of the Uri class with the specified URI, with explicit control of character escaping.

Uri(String, UriKind)

Inicializa uma nova instância da classe Uri com URI especificado.Initializes a new instance of the Uri class with the specified URI. Este construtor permite que você especifique se a cadeia de caracteres do URI é um URI relativo, um URI absoluto ou indeterminado.This constructor allows you to specify if the URI string is a relative URI, absolute URI, or is indeterminate.

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.Initializes a new instance of the Uri class based on the specified base URI and relative URI string.

Uri(Uri, String, Boolean)

Inicializa uma nova instância da classe Uri baseada nos URIs de base e relativos especificados, com controle explícito de escape de caracteres.Initializes a new instance of the Uri class based on the specified base and relative URIs, with explicit control of character escaping.

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.Initializes a new instance of the Uri class based on the combination of a specified base Uri instance and a relative Uri instance.

Campos

SchemeDelimiter

Especifica os caracteres que separam o esquema de protocolo de comunicação da parte do endereço do URI.Specifies the characters that separate the communication protocol scheme from the address portion of the URI. Este campo é somente leitura.This field is read-only.

UriSchemeFile

Especifica que o URI é um ponteiro para um arquivo.Specifies that the URI is a pointer to a file. Este campo é somente leitura.This field is read-only.

UriSchemeFtp

Especifica que o URI é acessado por meio do protocolo FTP.Specifies that the URI is accessed through the File Transfer Protocol (FTP). Este campo é somente leitura.This field is read-only.

UriSchemeGopher

Especifica que o URI é acessado por meio do protocolo Gopher.Specifies that the URI is accessed through the Gopher protocol. Este campo é somente leitura.This field is read-only.

UriSchemeHttp

Especifica que o URI é acessado por meio do protocolo HTTP.Specifies that the URI is accessed through the Hypertext Transfer Protocol (HTTP). Este campo é somente leitura.This field is read-only.

UriSchemeHttps

Especifica que o URI é acessado por meio de HTTPS (Secure Hypertext Transfer Protocol).Specifies that the URI is accessed through the Secure Hypertext Transfer Protocol (HTTPS). Este campo é somente leitura.This field is read-only.

UriSchemeMailto

Especifica que o URI é um endereço de email e é acessado por meio do protocolo SMTP.Specifies that the URI is an email address and is accessed through the Simple Mail Transport Protocol (SMTP). Este campo é somente leitura.This field is read-only.

UriSchemeNetPipe

Especifica que o URI é acessado por meio do esquema NetPipe usado pelo WCF (Windows Communication Foundation).Specifies that the URI is accessed through the NetPipe scheme used by Windows Communication Foundation (WCF). Este campo é somente leitura.This field is read-only.

UriSchemeNetTcp

Especifica que o URI é acessado por meio do esquema NetTcp usado pelo WCF (Windows Communication Foundation).Specifies that the URI is accessed through the NetTcp scheme used by Windows Communication Foundation (WCF). Este campo é somente leitura.This field is read-only.

UriSchemeNews

Especifica que o URI é um grupo de notícias da Internet e é acessado por meio do NNTP.Specifies that the URI is an Internet news group and is accessed through the Network News Transport Protocol (NNTP). Este campo é somente leitura.This field is read-only.

UriSchemeNntp

Especifica que o URI é um grupo de notícias da Internet e é acessado por meio do NNTP.Specifies that the URI is an Internet news group and is accessed through the Network News Transport Protocol (NNTP). Este campo é somente leitura.This field is read-only.

Propriedades

AbsolutePath

Obtém o caminho absoluto do URI.Gets the absolute path of the URI.

AbsoluteUri

Obtém o URI absoluto.Gets the absolute URI.

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.Gets the Domain Name System (DNS) host name or IP address and the port number for a server.

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.Gets a host name that, after being unescaped if necessary, is safe to use for DNS resolution.

Fragment

Obtém o fragmento de URI de escape.Gets the escaped URI fragment.

Host

Obtém o componente de host desta instância.Gets the host component of this instance.

HostNameType

Obtém o tipo do nome de host especificado no URI.Gets the type of the host name specified in the URI.

IdnHost

O Nome de Domínio Internacional do host em conformidade com RFC 3490 usando Punycode conforme apropriado.The RFC 3490 compliant International Domain Name of the host, using Punycode as appropriate. Esta cadeia de caracteres, depois de não ser escapada, se necessário, é seguro para ser usado para a resolução de DNS.This string, after being unescaped if necessary, is safe to use for DNS resolution.

IsAbsoluteUri

Obtém se a instância Uri é absoluta.Gets whether the Uri instance is absolute.

IsDefaultPort

Determina se o valor da porta do URI é o padrão para este esquema.Gets whether the port value of the URI is the default for this scheme.

IsFile

Obtém um valor que indica se o Uri especificado é um URI de arquivo.Gets a value indicating whether the specified Uri is a file URI.

IsLoopback

Obtém se o Uri especificado faz referência ao host local.Gets whether the specified Uri references the local host.

IsUnc

Identifica se o Uri especificado é um caminho UNC (Convenção de Nomenclatura Universal).Gets whether the specified Uri is a universal naming convention (UNC) path.

LocalPath

Obtém uma representação local do sistema operacional de um nome de arquivo.Gets a local operating-system representation of a file name.

OriginalString

Obtém a cadeia de caracteres do URI original que foi passada para o construtor Uri.Gets the original URI string that was passed to the Uri constructor.

PathAndQuery

Obtém as propriedades AbsolutePath e Query separadas por um ponto de interrogação (?).Gets the AbsolutePath and Query properties separated by a question mark (?).

Port

Obtém o número da porta desse URI.Gets the port number of this URI.

Query

Obtém informações de consulta incluídas no URI especificado.Gets any query information included in the specified URI.

Scheme

Obtém o nome do esquema para esse URI.Gets the scheme name for this URI.

Segments

Obtém uma matriz contendo os segmentos de caminho que compõem o URI especificado.Gets an array containing the path segments that make up the specified URI.

UserEscaped

Indica que a cadeia de caracteres do URI sofreu escape completo antes que a instância de Uri fosse criada.Indicates that the URI string was completely escaped before the Uri instance was created.

UserInfo

Obtém o nome de usuário, a senha ou outras informações específicas do usuário associado com o URI especificado.Gets the user name, password, or other user-specific information associated with the specified URI.

Métodos

Canonicalize()

Converte o URI armazenado internamente em forma canônica.Converts the internally stored URI to canonical form.

CheckHostName(String)

Determina se o nome de host especificado é um nome DNS válido.Determines whether the specified host name is a valid DNS name.

CheckSchemeName(String)

Determina se o nome do esquema especificado é válido.Determines whether the specified scheme name is valid.

CheckSecurity()

Chamar esse método não tem nenhum efeito.Calling this method has no effect.

Compare(Uri, Uri, UriComponents, UriFormat, StringComparison)

Compara as partes especificadas de dois URIs usando as regras de comparação especificadas.Compares the specified parts of two URIs using the specified comparison rules.

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.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Herdado de MarshalByRefObject)
Equals(Object)

Compara duas instâncias de Uri quanto à igualdade.Compares two Uri instances for equality.

Escape()

Converte caracteres reservados não seguros no componente de caminho para suas representações de caractere hexadecimal.Converts any unsafe or reserved characters in the path component to their hexadecimal character representations.

EscapeDataString(String)

Converte uma cadeia de caracteres em sua representação de escape.Converts a string to its escaped representation.

EscapeString(String)

Converte uma cadeia de caracteres em sua representação de escape.Converts a string to its escaped representation.

EscapeUriString(String)

Converte uma cadeia de caracteres de URI para sua representação de escape.Converts a URI string to its escaped representation.

FromHex(Char)

Obtém o valor decimal de um dígito hexadecimal.Gets the decimal value of a hexadecimal digit.

GetComponents(UriComponents, UriFormat)

Obtém os componentes especificados da instância atual usando o escape especificado para caracteres especiais.Gets the specified components of the current instance using the specified escaping for special characters.

GetHashCode()

Obtém o código hash do URI.Gets the hash code for the URI.

GetLeftPart(UriPartial)

Obtém a parte especificada de uma instância de Uri.Gets the specified portion of a Uri instance.

GetLifetimeService()

Recupera o objeto de serviço de tempo de vida atual que controla a política de ciclo de vida para esta instância.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Herdado de MarshalByRefObject)
GetObjectData(SerializationInfo, StreamingContext)

Retorna os dados necessários para serializar a instância atual.Returns the data needed to serialize the current instance.

GetType()

Obtém o Type da instância atual.Gets the Type of the current instance.

(Herdado de Object)
HexEscape(Char)

Converte um caractere especificado em seu equivalente hexadecimal.Converts a specified character into its hexadecimal equivalent.

HexUnescape(String, Int32)

Converte uma representação hexadecimal especificada de um caractere no caractere.Converts a specified hexadecimal representation of a character to the character.

InitializeLifetimeService()

Obtém um objeto de serviço de tempo de vida para controlar a política de tempo de vida para essa instância.Obtains a lifetime service object to control the lifetime policy for this instance.

(Herdado de MarshalByRefObject)
IsBadFileSystemCharacter(Char)

Determina se um caractere é inválido em um nome de sistema de arquivos.Gets whether a character is invalid in a file system name.

IsBaseOf(Uri)

Determina se a instância Uri atual é uma base da instância Uri especificada.Determines whether the current Uri instance is a base of the specified Uri instance.

IsExcludedCharacter(Char)

Obtém se o caractere especificado deve ser escapado.Gets whether the specified character should be escaped.

IsHexDigit(Char)

Determina se um caractere especificado é um dígito hexadecimal válido.Determines whether a specified character is a valid hexadecimal digit.

IsHexEncoding(String, Int32)

Determina se um caractere em uma cadeia de caracteres é codificada em hexadecimal.Determines whether a character in a string is hexadecimal encoded.

IsReservedCharacter(Char)

Obtém se o caractere especificado é um caractere reservado.Gets whether the specified character is a reserved character.

IsWellFormedOriginalString()

Indica se a cadeia de caracteres usada para construir essa Uri foi bem formada e não é necessário realizar o escape adicional.Indicates whether the string used to construct this Uri was well-formed and is not required to be further escaped.

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.Indicates whether the string is well-formed by attempting to construct a URI with the string and ensures that the string does not require further escaping.

MakeRelative(Uri)

Determina a diferença entre duas instâncias Uri.Determines the difference between two Uri instances.

MakeRelativeUri(Uri)

Determina a diferença entre duas instâncias Uri.Determines the difference between two Uri instances.

MemberwiseClone()

Cria uma cópia superficial do Object atual.Creates a shallow copy of the current Object.

(Herdado de Object)
MemberwiseClone(Boolean)

Cria uma cópia superficial do objeto MarshalByRefObject atual.Creates a shallow copy of the current MarshalByRefObject object.

(Herdado de MarshalByRefObject)
Parse()

Analisa o URI da instância atual para garantir que contenha todas as partes necessárias para um URI válido.Parses the URI of the current instance to ensure it contains all the parts required for a valid URI.

ToString()

Obtém uma representação de cadeia de caracteres canônica para a instância Uri especificada.Gets a canonical string representation for the specified Uri instance.

TryCreate(String, UriKind, Uri)

Cria um novo Uri usando a instância String especificada e um UriKind.Creates a new Uri using the specified String instance and a UriKind.

TryCreate(Uri, String, Uri)

Cria um novo Uri usando a base especificada e as instâncias de String relativas.Creates a new Uri using the specified base and relative String instances.

TryCreate(Uri, Uri, Uri)

Cria um novo Uri usando a base especificada e as instâncias de Uri relativas.Creates a new Uri using the specified base and relative Uri instances.

Unescape(String)

Converte a cadeia de caracteres especificada substituindo as sequências de escape por sua representação sem escape.Converts the specified string by replacing any escape sequences with their unescaped representation.

UnescapeDataString(String)

Converte uma cadeia de caracteres em sua representação sem escape.Converts a string to its unescaped representation.

Operadores

Equality(Uri, Uri)

Determina se duas instâncias Uri têm o mesmo valor.Determines whether two Uri instances have the same value.

Inequality(Uri, Uri)

Determina se duas instâncias de Uri não têm o mesmo valor.Determines whether two Uri instances do not have the same value.

Implantações explícitas de interface

ISerializable.GetObjectData(SerializationInfo, StreamingContext)

Retorna os dados necessários para serializar a instância atual.Returns the data needed to serialize the current instance.

Aplica-se a

Veja também