Uri Kelas

Definisi

Menyediakan representasi objek dari pengidentifikasi sumber daya seragam (URI) dan akses mudah ke bagian URI.

public ref class Uri
public ref class Uri : System::Runtime::Serialization::ISerializable
public ref class Uri : ISpanFormattable, System::Runtime::Serialization::ISerializable
public ref class Uri : MarshalByRefObject, System::Runtime::Serialization::ISerializable
public class Uri
public class Uri : System.Runtime.Serialization.ISerializable
public class Uri : ISpanFormattable, System.Runtime.Serialization.ISerializable
[System.Serializable]
public class Uri : MarshalByRefObject, System.Runtime.Serialization.ISerializable
[System.Serializable]
[System.ComponentModel.TypeConverter(typeof(System.UriTypeConverter))]
public class Uri : System.Runtime.Serialization.ISerializable
type Uri = class
type Uri = class
    interface ISerializable
type Uri = class
    interface ISpanFormattable
    interface IFormattable
    interface ISerializable
[<System.Serializable>]
type Uri = class
    inherit MarshalByRefObject
    interface ISerializable
[<System.Serializable>]
[<System.ComponentModel.TypeConverter(typeof(System.UriTypeConverter))>]
type Uri = class
    interface ISerializable
Public Class Uri
Public Class Uri
Implements ISerializable
Public Class Uri
Implements ISerializable, ISpanFormattable
Public Class Uri
Inherits MarshalByRefObject
Implements ISerializable
Warisan
Uri
Warisan
Atribut
Penerapan

Contoh

Contoh berikut membuat instans Uri kelas dan menggunakannya untuk melakukan permintaan GET dengan 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)

Cuplikan kode berikut menunjukkan nilai contoh berbagai properti di kelas .

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

Keterangan

Untuk informasi selengkapnya tentang API ini, lihat Keterangan API Tambahan untuk Uri.

Konstruktor

Uri(SerializationInfo, StreamingContext)
Kedaluwarsa.

Menginisialisasi instans Uri baru kelas dari instans yang ditentukan dari SerializationInfo kelas dan StreamingContext .

Uri(String)

Menginisialisasi instans Uri baru kelas dengan URI yang ditentukan.

Uri(String, Boolean)
Kedaluwarsa.
Kedaluwarsa.
Kedaluwarsa.

Menginisialisasi instans Uri baru kelas dengan URI yang ditentukan, dengan kontrol eksplisit dari pelepasan karakter.

Uri(String, UriCreationOptions)

Menginisialisasi instans Uri baru kelas dengan URI yang ditentukan dan tambahan UriCreationOptions.

Uri(String, UriKind)

Menginisialisasi instans Uri baru kelas dengan URI yang ditentukan. Konstruktor ini memungkinkan Anda menentukan apakah string URI adalah URI relatif, URI absolut, atau tidak ditentukan.

Uri(Uri, String)

Menginisialisasi instans Uri baru kelas berdasarkan URI dasar dan string URI relatif yang ditentukan.

Uri(Uri, String, Boolean)
Kedaluwarsa.
Kedaluwarsa.
Kedaluwarsa.

Menginisialisasi instans Uri baru kelas berdasarkan URI dasar dan relatif yang ditentukan, dengan kontrol eksplisit pelepasan karakter.

Uri(Uri, Uri)

Menginisialisasi instans Uri baru kelas berdasarkan kombinasi instans dasar Uri tertentu dan instans relatif Uri .

Bidang

SchemeDelimiter

Menentukan karakter yang memisahkan skema protokol komunikasi dari bagian alamat URI. Bidang ini hanya-baca.

UriSchemeFile

Menentukan bahwa URI adalah penunjuk ke file. Bidang ini hanya-baca.

UriSchemeFtp

Menentukan bahwa URI diakses melalui Protokol Transfer File (FTP). Bidang ini hanya-baca.

UriSchemeFtps

Menentukan bahwa URI diakses melalui File Transfer Protocol Secure (FTPS). Bidang ini hanya-baca.

UriSchemeGopher

Menentukan bahwa URI diakses melalui protokol Gopher. Bidang ini hanya-baca.

UriSchemeHttp

Menentukan bahwa URI diakses melalui Hypertext Transfer Protocol (HTTP). Bidang ini hanya-baca.

UriSchemeHttps

Menentukan bahwa URI diakses melalui Secure Hypertext Transfer Protocol (HTTPS). Bidang ini hanya-baca.

UriSchemeMailto

Menentukan bahwa URI adalah alamat email dan diakses melalui Simple Mail Transport Protocol (SMTP). Bidang ini hanya-baca.

UriSchemeNetPipe

Menentukan bahwa URI diakses melalui skema NetPipe yang digunakan oleh Windows Communication Foundation (WCF). Bidang ini hanya-baca.

UriSchemeNetTcp

Menentukan bahwa URI diakses melalui skema NetTcp yang digunakan oleh Windows Communication Foundation (WCF). Bidang ini hanya-baca.

UriSchemeNews

Menentukan bahwa URI adalah grup berita Internet dan diakses melalui Network News Transport Protocol (NNTP). Bidang ini hanya-baca.

UriSchemeNntp

Menentukan bahwa URI adalah grup berita Internet dan diakses melalui Network News Transport Protocol (NNTP). Bidang ini hanya-baca.

UriSchemeSftp

Menentukan bahwa URI diakses melalui Protokol Transfer File SSH (SFTP). Bidang ini hanya-baca.

UriSchemeSsh

Menentukan bahwa URI diakses melalui protokol Secure Socket Shell (SSH). Bidang ini hanya-baca.

UriSchemeTelnet

Menentukan bahwa URI diakses melalui protokol Telnet. Bidang ini hanya-baca.

UriSchemeWs

Menentukan bahwa URI diakses melalui protokol WebSocket (WS). Bidang ini hanya-baca.

UriSchemeWss

Menentukan bahwa URI diakses melalui protokol Aman WebSocket (WSS). Bidang ini hanya-baca.

Properti

AbsolutePath

Mendapatkan jalur absolut URI.

AbsoluteUri

Mendapatkan URI absolut.

Authority

Mendapatkan nama host atau alamat IP Sistem Nama Domain (DNS) dan nomor port untuk server.

DnsSafeHost

Mendapatkan nama host yang, setelah tidak di-unescaped jika perlu, aman digunakan untuk resolusi DNS.

Fragment

Mendapatkan fragmen URI yang lolos, termasuk karakter '#' utama jika tidak kosong.

Host

Mendapatkan komponen host dari instans ini.

HostNameType

Mendapatkan jenis nama host yang ditentukan dalam URI.

IdnHost

Mendapatkan Nama Domain Internasional host yang mematuhi RFC 3490, menggunakan Punycode yang sesuai. String ini, setelah tidak dilepas jika perlu, aman digunakan untuk resolusi DNS.

IsAbsoluteUri

Mendapatkan nilai yang menunjukkan apakah Uri instans absolut.

IsDefaultPort

Mendapatkan nilai yang menunjukkan apakah nilai port URI adalah default untuk skema ini.

IsFile

Mendapatkan nilai yang menunjukkan apakah yang ditentukan Uri adalah URI file.

IsLoopback

Mendapatkan nilai yang menunjukkan apakah yang ditentukan Uri mereferensikan host lokal.

IsUnc

Mendapatkan nilai yang menunjukkan apakah yang ditentukan Uri adalah jalur konvensi penamaan universal (UNC).

LocalPath

Mendapatkan representasi sistem operasi lokal dari nama file.

OriginalString

Mendapatkan string URI asli yang diteruskan ke Uri konstruktor.

PathAndQuery

Mendapatkan properti dan Query dipisahkan AbsolutePath oleh tanda tanya (?).

Port

Mendapatkan nomor port URI ini.

Query

Mendapatkan informasi kueri apa pun yang disertakan dalam URI yang ditentukan, termasuk karakter '?' utama jika tidak kosong.

Scheme

Mendapatkan nama skema untuk URI ini.

Segments

Mendapatkan array yang berisi segmen jalur yang membentuk URI yang ditentukan.

UserEscaped

Mendapatkan nilai yang menunjukkan apakah string URI benar-benar lolos sebelum Uri instans dibuat.

UserInfo

Mendapatkan nama pengguna, kata sandi, atau informasi spesifik pengguna lainnya yang terkait dengan URI yang ditentukan.

Metode

Canonicalize()
Kedaluwarsa.
Kedaluwarsa.
Kedaluwarsa.

Mengonversi URI yang disimpan secara internal ke bentuk kanonis.

CheckHostName(String)

Menentukan apakah nama host yang ditentukan adalah nama DNS yang valid.

CheckSchemeName(String)

Menentukan apakah nama skema yang ditentukan valid.

CheckSecurity()
Kedaluwarsa.
Kedaluwarsa.
Kedaluwarsa.

Memanggil metode ini tidak berpengaruh.

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

Membandingkan bagian yang ditentukan dari dua URI menggunakan aturan perbandingan yang ditentukan.

CreateObjRef(Type)

Membuat objek yang berisi semua informasi relevan yang diperlukan untuk menghasilkan proksi yang digunakan untuk berkomunikasi dengan objek jarak jauh.

(Diperoleh dari MarshalByRefObject)
Equals(Object)

Membandingkan dua Uri instans untuk kesetaraan.

Escape()
Kedaluwarsa.
Kedaluwarsa.
Kedaluwarsa.

Mengonversi karakter yang tidak aman atau dicadangkan dalam komponen jalur ke representasi karakter heksadesimalnya.

EscapeDataString(String)

Mengonversi string ke representasi escape-nya.

EscapeString(String)
Kedaluwarsa.
Kedaluwarsa.
Kedaluwarsa.
Kedaluwarsa.

Mengonversi string ke representasi escape-nya.

EscapeUriString(String)
Kedaluwarsa.
Kedaluwarsa.

Mengonversi string URI ke representasi yang lolos.

FromHex(Char)

Mendapatkan nilai desimal dari digit heksadesimal.

GetComponents(UriComponents, UriFormat)

Mendapatkan komponen yang ditentukan dari instans saat ini menggunakan pelepasan yang ditentukan untuk karakter khusus.

GetHashCode()

Mendapatkan kode hash untuk URI.

GetLeftPart(UriPartial)

Mendapatkan bagian instans yang Uri ditentukan.

GetLifetimeService()
Kedaluwarsa.

Mengambil objek layanan seumur hidup saat ini yang mengontrol kebijakan seumur hidup untuk instans ini.

(Diperoleh dari MarshalByRefObject)
GetObjectData(SerializationInfo, StreamingContext)

Mengembalikan data yang diperlukan untuk membuat serial instans saat ini.

GetType()

Mendapatkan dari instans Type saat ini.

(Diperoleh dari Object)
HexEscape(Char)

Mengonversi karakter tertentu menjadi setara heksadesimalnya.

HexUnescape(String, Int32)

Mengonversi representasi heksadesimal karakter tertentu ke karakter.

InitializeLifetimeService()
Kedaluwarsa.

Mendapatkan objek layanan seumur hidup untuk mengontrol kebijakan seumur hidup untuk instans ini.

(Diperoleh dari MarshalByRefObject)
IsBadFileSystemCharacter(Char)
Kedaluwarsa.
Kedaluwarsa.
Kedaluwarsa.

Menunjukkan apakah karakter tidak valid dalam nama sistem file.

IsBaseOf(Uri)

Menentukan apakah instans saat ini Uri adalah dasar dari instans yang ditentukan Uri .

IsExcludedCharacter(Char)
Kedaluwarsa.
Kedaluwarsa.
Kedaluwarsa.

Menentukan apakah karakter yang ditentukan harus diloloskan.

IsHexDigit(Char)

Menentukan apakah karakter yang ditentukan adalah digit heksadesimal yang valid.

IsHexEncoding(String, Int32)

Menentukan apakah karakter dalam string dikodekan heksadesimal.

IsReservedCharacter(Char)
Kedaluwarsa.
Kedaluwarsa.
Kedaluwarsa.

Menentukan apakah karakter yang ditentukan adalah karakter khusus.

IsWellFormedOriginalString()

Menunjukkan apakah string yang digunakan untuk membangun ini Uri terbentuk dengan baik dan tidak memerlukan pelepasan lebih lanjut.

IsWellFormedUriString(String, UriKind)

Menunjukkan apakah string terbentuk dengan baik dengan mencoba membangun URI dengan string dan memastikan bahwa string tidak memerlukan pelepasan lebih lanjut.

MakeRelative(Uri)
Kedaluwarsa.
Kedaluwarsa.
Kedaluwarsa.
Kedaluwarsa.

Menentukan perbedaan antara dua Uri instans.

MakeRelativeUri(Uri)

Menentukan perbedaan antara dua Uri instans.

MemberwiseClone()

Membuat salinan dangkal dari saat ini Object.

(Diperoleh dari Object)
MemberwiseClone(Boolean)

Membuat salinan dangkal objek saat ini MarshalByRefObject .

(Diperoleh dari MarshalByRefObject)
Parse()
Kedaluwarsa.
Kedaluwarsa.
Kedaluwarsa.

Mengurai URI instans saat ini untuk memastikannya berisi semua bagian yang diperlukan untuk URI yang valid.

ToString()

Mendapatkan representasi string kanonis untuk instans yang ditentukan Uri .

TryCreate(String, UriCreationOptions, Uri)

Membuat baru Uri menggunakan instans yang ditentukan String dan UriCreationOptions.

TryCreate(String, UriKind, Uri)

Membuat baru Uri menggunakan instans yang ditentukan String dan UriKind.

TryCreate(Uri, String, Uri)

Membuat baru Uri menggunakan instans dasar dan relatif String yang ditentukan.

TryCreate(Uri, Uri, Uri)

Membuat baru Uri menggunakan instans dasar dan relatif Uri yang ditentukan.

TryFormat(Span<Char>, Int32)

Mencoba memformat representasi string kanonis untuk Uri instans ke dalam rentang yang ditentukan.

Unescape(String)
Kedaluwarsa.
Kedaluwarsa.
Kedaluwarsa.

Mengonversi string yang ditentukan dengan mengganti urutan escape apa pun dengan representasi yang tidak di-escape.

UnescapeDataString(String)

Mengonversi string ke representasi yang tidak dilepas.

Operator

Equality(Uri, Uri)

Menentukan apakah dua Uri instans memiliki nilai yang sama.

Inequality(Uri, Uri)

Menentukan apakah dua Uri instans tidak memiliki nilai yang sama.

Implementasi Antarmuka Eksplisit

IFormattable.ToString(String, IFormatProvider)

Memformat nilai instans saat ini menggunakan format yang ditentukan.

ISerializable.GetObjectData(SerializationInfo, StreamingContext)

Mengembalikan data yang diperlukan untuk membuat serial instans saat ini.

ISpanFormattable.TryFormat(Span<Char>, Int32, ReadOnlySpan<Char>, IFormatProvider)

Mencoba memformat nilai instans saat ini ke dalam rentang karakter yang disediakan.

Berlaku untuk

Keamanan Thread

Semua anggota Uri aman untuk utas dan dapat digunakan secara bersamaan dari beberapa utas.

Lihat juga