URI 建構函式
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
多載
| 名稱 | 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 。
本頁部分內容為基於 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 。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。