Uri Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Предоставляет представление объекта универсального идентификатора ресурса (URI) и простого доступа к частям 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
- Наследование
-
Uri
- Наследование
- Атрибуты
- Реализации
Примеры
В следующем примере создается экземпляр класса Uri и используется для выполнения запроса GET с 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)
В следующем фрагменте кода показаны примеры значений различных свойств класса.
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
Комментарии
Дополнительные сведения об этом API см. в дополнительных примечаниях API дляURI.
Конструкторы
Uri(SerializationInfo, StreamingContext) |
Устаревшие..
Инициализирует новый экземпляр класса Uri из указанных экземпляров классов SerializationInfo и StreamingContext. |
Uri(String) |
Инициализирует новый экземпляр класса Uri с указанным универсальным кодом ресурса (URI). |
Uri(String, Boolean) |
Устаревшие..
Устаревшие..
Устаревшие..
Инициализирует новый экземпляр класса Uri с указанным универсальным кодом ресурса (URI) с явным контролем экранирования символов. |
Uri(String, UriCreationOptions) |
Инициализирует новый экземпляр класса Uri с указанным универсальным кодом ресурса (URI) и дополнительными UriCreationOptions. |
Uri(String, UriKind) |
Инициализирует новый экземпляр класса Uri с указанным универсальным кодом ресурса (URI). Этот конструктор позволяет указать, является ли строка URI относительной URI, абсолютным универсальным кодом ресурса (URI) или неопределенной. |
Uri(Uri, String) |
Инициализирует новый экземпляр класса Uri на основе указанного базового URI и относительной строки URI. |
Uri(Uri, String, Boolean) |
Устаревшие..
Устаревшие..
Устаревшие..
Инициализирует новый экземпляр класса Uri на основе указанных базовых и относительных URI с явным контролем экранирования символов. |
Uri(Uri, Uri) |
Инициализирует новый экземпляр класса Uri на основе сочетания указанного базового Uri экземпляра и относительного экземпляра Uri. |
Поля
SchemeDelimiter |
Задает символы, разделяющие схему протокола связи от части адреса URI. Это поле доступно только для чтения. |
UriSchemeFile |
Указывает, что универсальный код ресурса (URI) является указателем на файл. Это поле доступно только для чтения. |
UriSchemeFtp |
Указывает, что URI осуществляется через ПРОТОКОЛ передачи файлов (FTP). Это поле доступно только для чтения. |
UriSchemeFtps |
Указывает, что URI осуществляется через протокол FTPS. Это поле доступно только для чтения. |
UriSchemeGopher |
Указывает, что URI осуществляется через протокол Gopher. Это поле доступно только для чтения. |
UriSchemeHttp |
Указывает, что URI осуществляется через протокол HTTP. Это поле доступно только для чтения. |
UriSchemeHttps |
Указывает, что URI осуществляется через протокол HTTPS. Это поле доступно только для чтения. |
UriSchemeMailto |
Указывает, что универсальный код ресурса (URI) является адресом электронной почты и осуществляется через протокол SMTP. Это поле доступно только для чтения. |
UriSchemeNetPipe |
Указывает, что URI осуществляется через схему NetPipe, используемую Windows Communication Foundation (WCF). Это поле доступно только для чтения. |
UriSchemeNetTcp |
Указывает, что URI осуществляется через схему NetTcp, используемую Windows Communication Foundation (WCF). Это поле доступно только для чтения. |
UriSchemeNews |
Указывает, что универсальный код ресурса (URI) — это группа новостей Интернета, доступ к которому осуществляется через протокол NNTP. Это поле доступно только для чтения. |
UriSchemeNntp |
Указывает, что универсальный код ресурса (URI) — это группа новостей Интернета, доступ к которому осуществляется через протокол NNTP. Это поле доступно только для чтения. |
UriSchemeSftp |
Указывает, что URI осуществляется через протокол SSH-передачи файлов (SFTP). Это поле доступно только для чтения. |
UriSchemeSsh |
Указывает, что URI осуществляется через протокол Secure Socket Shell (SSH). Это поле доступно только для чтения. |
UriSchemeTelnet |
Указывает, что URI осуществляется через протокол Telnet. Это поле доступно только для чтения. |
UriSchemeWs |
Указывает, что URI осуществляется через протокол WebSocket (WS). Это поле доступно только для чтения. |
UriSchemeWss |
Указывает, что URI осуществляется через протокол WebSocket Secure (WSS). Это поле доступно только для чтения. |
Свойства
AbsolutePath |
Возвращает абсолютный путь URI. |
AbsoluteUri |
Возвращает абсолютный универсальный код ресурса (URI). |
Authority |
Возвращает имя узла или IP-адрес системы доменных имен (DNS) и номер порта для сервера. |
DnsSafeHost |
Возвращает имя узла, которое после того, как не было отложено при необходимости, безопасно использовать для разрешения DNS. |
Fragment |
Возвращает escape-фрагмент URI, включая ведущий символ #, если он не пуст. |
Host |
Возвращает узел этого экземпляра. |
HostNameType |
Возвращает тип имени узла, указанного в URI. |
IdnHost |
Возвращает международное доменное имя узла RFC 3490, используя Punycode соответствующим образом. Эта строка после того, как не будет отключена при необходимости, безопасно использовать для разрешения DNS. |
IsAbsoluteUri |
Возвращает значение, указывающее, является ли экземпляр Uri абсолютным. |
IsDefaultPort |
Возвращает значение, указывающее, является ли значение порта URI по умолчанию для этой схемы. |
IsFile |
Возвращает значение, указывающее, является ли указанный Uri универсальным кодом ресурса (URI) файла. |
IsLoopback |
Возвращает значение, указывающее, ссылается ли указанный Uri на локальный узел. |
IsUnc |
Возвращает значение, указывающее, является ли указанный Uri универсальным путем соглашения об именовании (UNC). |
LocalPath |
Возвращает локальное представление имени файла операционной системы. |
OriginalString |
Возвращает исходную строку URI, переданную конструктору Uri. |
PathAndQuery |
Возвращает свойства AbsolutePath и Query, разделенные вопросительным знаком (?). |
Port |
Возвращает номер порта этого URI. |
Query |
Получает все сведения о запросе, включенные в указанный URI, включая ведущий символ "?", если не пуст. |
Scheme |
Возвращает имя схемы для этого URI. |
Segments |
Возвращает массив, содержащий сегменты пути, составляющие указанный универсальный код ресурса (URI). |
UserEscaped |
Возвращает значение, указывающее, была ли строка URI полностью экранирована до создания экземпляра Uri. |
UserInfo |
Возвращает имя пользователя, пароль или другие сведения, связанные с указанным универсальным кодом ресурса (URI). |
Методы
Canonicalize() |
Устаревшие..
Устаревшие..
Устаревшие..
Преобразует внутренний URI в каноническую форму. |
CheckHostName(String) |
Определяет, является ли указанное имя узла допустимым DNS-именем. |
CheckSchemeName(String) |
Определяет, является ли указанное имя схемы допустимым. |
CheckSecurity() |
Устаревшие..
Устаревшие..
Устаревшие..
Вызов этого метода не действует. |
Compare(Uri, Uri, UriComponents, UriFormat, StringComparison) |
Сравнивает указанные части двух URI с помощью указанных правил сравнения. |
CreateObjRef(Type) |
Создает объект, содержащий все соответствующие сведения, необходимые для создания прокси-сервера, используемого для взаимодействия с удаленным объектом. (Унаследовано от MarshalByRefObject) |
Equals(Object) |
Сравнивает два экземпляра Uri для равенства. |
Equals(Uri) |
Сравнивает два экземпляра Uri для равенства. |
Escape() |
Устаревшие..
Устаревшие..
Устаревшие..
Преобразует все небезопасные или зарезервированные символы в компонент пути в шестнадцатеричные представления символов. |
EscapeDataString(ReadOnlySpan<Char>) |
Преобразует диапазон в его экранированное представление. |
EscapeDataString(String) |
Преобразует строку в его экранированное представление. |
EscapeString(String) |
Устаревшие..
Устаревшие..
Устаревшие..
Устаревшие..
Преобразует строку в его экранированное представление. |
EscapeUriString(String) |
Устаревшие..
Устаревшие..
Преобразует строку URI в его escape-представление. |
FromHex(Char) |
Возвращает десятичное значение шестнадцатеричной цифры. |
GetComponents(UriComponents, UriFormat) |
Возвращает указанные компоненты текущего экземпляра с помощью указанного экранирования для специальных символов. |
GetHashCode() |
Возвращает хэш-код для URI. |
GetLeftPart(UriPartial) |
Возвращает указанную часть экземпляра Uri. |
GetLifetimeService() |
Устаревшие..
Извлекает текущий объект службы времени существования, который управляет политикой времени существования для этого экземпляра. (Унаследовано от MarshalByRefObject) |
GetObjectData(SerializationInfo, StreamingContext) |
Возвращает данные, необходимые для сериализации текущего экземпляра. |
GetType() |
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
HexEscape(Char) |
Преобразует указанный символ в шестнадцатеричный эквивалент. |
HexUnescape(String, Int32) |
Преобразует указанное шестнадцатеричное представление символа в символ. |
InitializeLifetimeService() |
Устаревшие..
Получает объект службы времени существования для управления политикой времени существования для этого экземпляра. (Унаследовано от MarshalByRefObject) |
IsBadFileSystemCharacter(Char) |
Устаревшие..
Устаревшие..
Устаревшие..
Указывает, является ли символ недопустимым в имени файловой системы. |
IsBaseOf(Uri) |
Определяет, является ли текущий экземпляр Uri базой указанного Uri экземпляра. |
IsExcludedCharacter(Char) |
Устаревшие..
Устаревшие..
Устаревшие..
Определяет, следует ли экранировать указанный символ. |
IsHexDigit(Char) |
Определяет, является ли указанный символ допустимым шестнадцатеричным числом. |
IsHexEncoding(String, Int32) |
Определяет, закодирован ли символ в строке шестнадцатеричным. |
IsReservedCharacter(Char) |
Устаревшие..
Устаревшие..
Устаревшие..
Определяет, является ли указанный символ зарезервированным символом. |
IsWellFormedOriginalString() |
Указывает, является ли строка, используемая для создания этой Uri, хорошо сформирована и не требует дальнейшего экранирования. |
IsWellFormedUriString(String, UriKind) |
Указывает, является ли строка хорошо сформированной, пытаясь создать универсальный код ресурса (URI) со строкой и гарантирует, что строка не требует дальнейшего экранирования. |
MakeRelative(Uri) |
Устаревшие..
Устаревшие..
Устаревшие..
Устаревшие..
Определяет разницу между двумя Uri экземплярами. |
MakeRelativeUri(Uri) |
Определяет разницу между двумя Uri экземплярами. |
MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
MemberwiseClone(Boolean) |
Создает неглубокую копию текущего объекта MarshalByRefObject. (Унаследовано от MarshalByRefObject) |
Parse() |
Устаревшие..
Устаревшие..
Устаревшие..
Анализирует URI текущего экземпляра, чтобы убедиться, что он содержит все части, необходимые для допустимого URI. |
ToString() |
Возвращает каноническое строковое представление для указанного экземпляра Uri. |
TryCreate(String, UriCreationOptions, Uri) |
Создает новый Uri с помощью указанного экземпляра String и UriCreationOptions. |
TryCreate(String, UriKind, Uri) |
Создает новый Uri с помощью указанного экземпляра String и UriKind. |
TryCreate(Uri, String, Uri) |
Создает новый Uri с помощью указанных базовых и относительных экземпляров String. |
TryCreate(Uri, Uri, Uri) |
Создает новый Uri с помощью указанных базовых и относительных экземпляров Uri. |
TryEscapeDataString(ReadOnlySpan<Char>, Span<Char>, Int32) |
Пытается преобразовать диапазон в его экранированное представление. |
TryFormat(Span<Char>, Int32) |
Пытается отформатировать каноническое строковое представление для экземпляра Uri в указанный диапазон. |
TryUnescapeDataString(ReadOnlySpan<Char>, Span<Char>, Int32) |
Пытается преобразовать диапазон в его неопакованное представление. |
Unescape(String) |
Устаревшие..
Устаревшие..
Устаревшие..
Преобразует указанную строку, заменив все escape-последовательности их незакрытым представлением. |
UnescapeDataString(ReadOnlySpan<Char>) |
Преобразует диапазон в его неискаченное представление. |
UnescapeDataString(String) |
Преобразует строку в неопакованное представление. |
Операторы
Equality(Uri, Uri) |
Определяет, имеют ли два экземпляра Uri одно и то же значение. |
Inequality(Uri, Uri) |
Определяет, не имеют ли два экземпляра Uri одинаковые значения. |
Явные реализации интерфейса
IFormattable.ToString(String, IFormatProvider) |
Форматирует значение текущего экземпляра с помощью указанного формата. |
ISerializable.GetObjectData(SerializationInfo, StreamingContext) |
Возвращает данные, необходимые для сериализации текущего экземпляра. |
ISpanFormattable.TryFormat(Span<Char>, Int32, ReadOnlySpan<Char>, IFormatProvider) |
Пытается отформатировать значение текущего экземпляра в предоставленный диапазон символов. |
Применяется к
Потокобезопасность
Все члены Uri являются потокобезопасными и могут использоваться одновременно из нескольких потоков.