語言

URI 建構函式

定義

多載

名稱 Description
URI(String)

透過解析給定字串來構造 URI。

URI(String, String, String)

從給定元件構建一個 URI。

URI(String, String, String, String)

從給定元件構建階層式 URI。

URI(String, String, String, String, String)

從給定元件構建階層式 URI。

URI(String, String, String, Int32, String, String, String)

從給定元件構建階層式 URI。

URI(String)

透過解析給定字串來構造 URI。

[Android.Runtime.Register(".ctor", "(Ljava/lang/String;)V", "")]
public URI(string? str);
[<Android.Runtime.Register(".ctor", "(Ljava/lang/String;)V", "")>]
new Java.Net.URI : string -> Java.Net.URI

參數

str
String

要解析成 URI 的字串

屬性

例外狀況

備註

透過解析給定字串來構造 URI。

此建構器依照 RFC 2396 附錄   中文法所規定的字串進行解析;A, <b>除以下偏差外:</b>

<UL>

<李>

只要空權威元件後面有非空路徑、查詢元件或片段元件,則允許使用。 這使得解析 URI "file:///foo/bar"如 ,這似乎是 RFC  的意圖;2396 雖然文法不允許。 若權威元件為空,則使用者資訊、主機與埠元件皆未定義。

</李>

<李>

允許空的相對路徑;這似乎正是 RFC  的意圖;2396 雖然文法不允許。 這種偏離的主要結果是,像這樣的 "#foo" 獨立片段會作為一個帶有空路徑且給定片段的相對 URI,並且可以有效地針對基礎 URI 解析。

<李>

主機元件中的 IPv4 位址需嚴格解析,依據 RFC 2732 規定:虛線四分之一位址的每個元素不得包含三位小數。 每個元素的值進一步限制不得超過255。

</李>

<李>

僅包含單一網域標籤的主機元件中,主機名稱允許以 字母位 位開頭。 這似乎就是 RFC 2396 節的意圖  3.2.2 雖然文法上不允許這麼做。 此偏差的結果是,階層式 URI 中的權威組件(如 s://123,)會解析為伺服器端權威。

</李>

<李>

主機元件允許使用 IPv6 位址。 IPv6 位址必須依照 RFC 2732 的規定,以方括號'['(和']')包覆。 IPv6 位址本身必須依照 RFC 2373 進行解析。 IPv6 位址進一步受限於描述不超過 16 位元組的位址資訊,這是 RFC  中隱含的限制;2373 但語法無法表達。

</李>

<李>

另一個 類別的 字元在 RFC  以下皆被允許;2396 允許逃 八位元組,即使用者資訊、路徑、查詢與片段元件,以及如果權威為註冊表的權威元件。 這使得 URI 能包含 Unicode 字元集之外的字元,US-ASCII 字元集之外。

</李>

</ul>

Java 文件 java.net.URI.URI(java.lang.String)

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

適用於

URI(String, String, String)

從給定元件構建一個 URI。

[Android.Runtime.Register(".ctor", "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V", "")]
public URI(string? scheme, string? ssp, string? fragment);
[<Android.Runtime.Register(".ctor", "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V", "")>]
new Java.Net.URI : string * string * string -> Java.Net.URI

參數

scheme
String

方案名稱

ssp
String

方案專屬部分

fragment
String

Fragment

屬性

例外狀況

備註

從給定元件構建一個 URI。

一個分量可能未被定義,方法是通過 null

此建構器首先使用給定元件建構字串形式的 URI,具體如下:

<進攻線>

<李>

初始時,結果字串為空。

</李>

<李>

若給出方案,則會附加該方案,後接冒號字元(':')。

</李>

<李>

若給出特定方案部分,則附加。 任何非合法的羅德島角色都會被引用。

</李>

<李>

最後,若給定片段,則字串後附加雜湊字元('#'),接著是片段。 任何非合法的羅德島角色都會被引用。

</李>

</ol>

接著解析產生的 URI 字串,以建立新的 URI 實例,就像 #URI(String) 呼叫建構子一樣;這可能會導致拋出 a URISyntaxException

Java 文件 java.net.URI.URI(java.lang.String, java.lang.String, java.lang.String)

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

適用於

URI(String, String, String, String)

從給定元件構建階層式 URI。

[Android.Runtime.Register(".ctor", "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V", "")]
public URI(string? scheme, string? host, string? path, string? fragment);
[<Android.Runtime.Register(".ctor", "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V", "")>]
new Java.Net.URI : string * string * string * string -> Java.Net.URI

參數

scheme
String

方案名稱

host
String

主機名稱

path
String

路徑

fragment
String

Fragment

屬性

例外狀況

備註

從給定元件構建階層式 URI。

一個分量可能未被定義,方法是通過 null

此便利建構子的運作方式如下:

<引用>(scheme, null, host, -1, path, null, fragment);new#URI(String, String, String, int, String, String, String) URI</引用>

Java 文件 java.net.URI.URI(java.lang.String, java.lang.String, java.lang.String, java.lang.String)

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

適用於

URI(String, String, String, String, String)

從給定元件構建階層式 URI。

[Android.Runtime.Register(".ctor", "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V", "")]
public URI(string? scheme, string? authority, string? path, string? query, string? fragment);
[<Android.Runtime.Register(".ctor", "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V", "")>]
new Java.Net.URI : string * string * string * string * string -> Java.Net.URI

參數

scheme
String

方案名稱

authority
String

權威

path
String

路徑

query
String

Query

fragment
String

Fragment

屬性

例外狀況

備註

從給定元件構建階層式 URI。

若給定一個方案,則路徑(若同樣給定)必須為空或以斜線字'/'元()開頭。 否則,透過傳遞 null 對應參數,新 URI 的某個元件可能會保持未定義。

此建構器首先依 據 RFC 2396 章節 & nbsp 所規定的規則,從給定元件建立 URI 字串;5.2、步進與nbsp;7:

<進攻線>

<李>

初始時,結果字串為空。

</李>

<李>

若給出方案,則會附加該方案,後接冒號字元(':')。

</李>

<李>

若給出權威,則會加上字串 "//" ,接著是權威。 若權限包含字面上的 IPv6 位址,則該位址必須以方括號'[' (和 ']')包覆。 任何不屬於無保留穿刺逃脫或其他類別,且不等同於商業-at字元('@')的字元都會被引用。

</李>

<李>

如果給定了路徑,則會附加它。 任何不屬於無保留標移逃脫或其他類別,且不等同於耽美字('/')或商業-at字('@')的字,皆被引用。

</李>

<李>

若給出查詢,則會加上問號字元('?'),接著是查詢。 任何非合法的羅德島角色都會被引用。

</李>

<李>

最後,若給定片段,則會加上雜湊字元('#'),接著是片段。 任何非合法的羅德島角色都會被引用。

</李>

</ol>

接著解析產生的 URI 字串,就像呼叫 #URI(String) 建構子後再呼叫 #parseServerAuthority() 方法一樣;這可能會導致拋出 a URISyntaxException

Java 文件 java.net.URI.URI(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String)

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

適用於

URI(String, String, String, Int32, String, String, String)

從給定元件構建階層式 URI。

[Android.Runtime.Register(".ctor", "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V", "")]
public URI(string? scheme, string? userInfo, string? host, int port, string? path, string? query, string? fragment);
[<Android.Runtime.Register(".ctor", "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V", "")>]
new Java.Net.URI : string * string * string * int * string * string * string -> Java.Net.URI

參數

scheme
String

方案名稱

userInfo
String

使用者名稱與授權資訊

host
String

主機名稱

port
Int32

連接埠號碼

path
String

路徑

query
String

Query

fragment
String

Fragment

屬性

例外狀況

備註

從給定元件構建階層式 URI。

若給定一個方案,則路徑(若同樣給定)必須為空或以斜線字'/'元()開頭。 否則,透過傳遞對應參數,或在參數port的情況下,透過傳遞 null-1,使新 URI 的組件保持未定義。

此建構器首先依 據 RFC 2396 章節 & nbsp 所規定的規則,從給定元件建立 URI 字串;5.2、步進與nbsp;7:

<進攻線>

<李>

初始時,結果字串為空。

</李>

<李>

若給出方案,則會附加該方案,後接冒號字元(':')。

</李>

<李>

若提供使用者資訊、主機或埠口,則會附加該字串 "//"

</李>

<李>

若提供使用者資訊,則會加上該資訊,後接商業-at字元('@')。 任何不屬於無保留虛偽逃脫或其他類別的角色都會被引用。

</李>

<李>

若已給予主機,則會附加。 如果主機是字面上的 IPv6 位址,但未被方括號'[' 包圍(和 ']'),則會加上方括號。

</李>

<李>

若給出埠號,則會加上冒號(':'),接著是小數埠號。

</李>

<李>

如果給定了路徑,則會附加它。 任何不屬於無保留標移逃脫或其他類別,且不等同於耽美字('/')或商業-at字('@')的字,皆被引用。

</李>

<李>

若給出查詢,則會加上問號字元('?'),接著是查詢。 任何非合法的羅德島角色都會被引用。

</李>

<李>

最後,若給定片段,則會加上雜湊字元('#'),接著是片段。 任何非合法的羅德島角色都會被引用。

</李>

</ol>

接著解析產生的 URI 字串,就像呼叫 #URI(String) 建構子後再呼叫 #parseServerAuthority() 方法一樣;這可能會導致拋出 a URISyntaxException

Java 文件 java.net.URI.URI(java.lang.String, java.lang.String, java.lang.String, int, java.lang.String, java.lang.String, java.lang.String)

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

適用於