Bagikan melalui


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 : 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
Warisan
Uri
Warisan
Atribut
Penerapan

Contoh

Contoh berikut membuat instans kelas Uri 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 dari 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 baru kelas Uri dari instans yang ditentukan dari kelas SerializationInfo dan StreamingContext.

Uri(String)

Menginisialisasi instans baru kelas Uri dengan URI yang ditentukan.

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

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

Uri(String, UriCreationOptions)

Menginisialisasi instans baru kelas Uri dengan URI yang ditentukan dan UriCreationOptionstambahan .

Uri(String, UriKind)

Menginisialisasi instans baru kelas Uri 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 baru kelas Uri berdasarkan URI dasar yang ditentukan dan string URI relatif.

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

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

Uri(Uri, Uri)

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

Bidang

SchemeDelimiter

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

UriSchemeFile

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

UriSchemeFtp

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

UriSchemeFtps

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

UriSchemeGopher

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

UriSchemeHttp

Menentukan bahwa URI diakses melalui Protokol Transfer Hypertext (HTTP). Bidang ini bersifat baca-saja.

UriSchemeHttps

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

UriSchemeMailto

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

UriSchemeNetPipe

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

UriSchemeNetTcp

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

UriSchemeNews

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

UriSchemeNntp

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

UriSchemeSftp

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

UriSchemeSsh

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

UriSchemeTelnet

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

UriSchemeWs

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

UriSchemeWss

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

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 sesuai dengan RFC 3490, menggunakan Punycode yang sesuai. String ini, setelah tidak dihapus jika perlu, aman digunakan untuk resolusi DNS.

IsAbsoluteUri

Mendapatkan nilai yang menunjukkan apakah instans Uri absolut.

IsDefaultPort

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

IsFile

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

IsLoopback

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

IsUnc

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

LocalPath

Mendapatkan representasi sistem operasi lokal dari nama file.

OriginalString

Mendapatkan string URI asli yang diteruskan ke konstruktor Uri.

PathAndQuery

Mendapatkan properti AbsolutePath dan Query yang dipisahkan 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 instans Uri 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 instans Uri untuk kesetaraan.

Equals(Uri)

Membandingkan dua instans Uri untuk kesetaraan.

Escape()
Kedaluwarsa.
Kedaluwarsa.
Kedaluwarsa.

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

EscapeDataString(ReadOnlySpan<Char>)

Mengonversi rentang ke representasi yang lolos.

EscapeDataString(String)

Mengonversi string ke representasi yang lolos.

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

Mengonversi string ke representasi yang lolos.

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 yang ditentukan dari instans Uri.

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 menserialisasikan instans saat ini.

GetType()

Mendapatkan Type instans 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 Uri saat ini adalah basis instans Uri yang ditentukan.

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 yang dipesan.

IsWellFormedOriginalString()

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

IsWellFormedUriString(String, UriKind)

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

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

Menentukan perbedaan antara dua instans Uri.

MakeRelativeUri(Uri)

Menentukan perbedaan antara dua instans Uri.

MemberwiseClone()

Membuat salinan dangkal dari Objectsaat ini.

(Diperoleh dari Object)
MemberwiseClone(Boolean)

Membuat salinan dangkal objek MarshalByRefObject saat ini.

(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 Uri yang ditentukan.

TryCreate(String, UriCreationOptions, Uri)

Membuat Uri baru menggunakan instans String yang ditentukan dan UriCreationOptions.

TryCreate(String, UriKind, Uri)

Membuat Uri baru menggunakan instans String yang ditentukan dan UriKind.

TryCreate(Uri, String, Uri)

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

TryCreate(Uri, Uri, Uri)

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

TryEscapeDataString(ReadOnlySpan<Char>, Span<Char>, Int32)

Mencoba mengonversi rentang ke representasi yang lolos.

TryFormat(Span<Char>, Int32)

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

TryUnescapeDataString(ReadOnlySpan<Char>, Span<Char>, Int32)

Mencoba mengonversi rentang ke representasi yang tidak dilewati.

Unescape(String)
Kedaluwarsa.
Kedaluwarsa.
Kedaluwarsa.

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

UnescapeDataString(ReadOnlySpan<Char>)

Mengonversi rentang ke representasi yang tidak dilewati.

UnescapeDataString(String)

Mengonversi string ke representasi yang tidak dilewati.

Operator

Equality(Uri, Uri)

Menentukan apakah dua instans Uri memiliki nilai yang sama.

Inequality(Uri, Uri)

Menentukan apakah dua instans Uri 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 menserialisasikan 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 utas dan dapat digunakan secara bersamaan dari beberapa utas.

Lihat juga