.NET Framework 类库: Uri类
提供統(tǒng)一資源標(biāo)識符 (URI) 的對象表示形式和對 URI 各部分的輕松訪問。
命名空間:System
程序集:System(在 system.dll 中)
2public?class?Uri?:?ISerializable 備注
URI 是 Intranet 或 Internet 上可由應(yīng)用程序使用的資源的一種簡潔表示形式。Uri 類定義了屬性和方法來處理 URI,包括分析、比較和組合。Uri 類屬性是只讀的;若要創(chuàng)建可修改的對象,請使用 UriBuilder 類。
相對 URI(例如“/new/index.htm”)必須相對于基 URI 展開,這樣才是絕對的。提供了 MakeRelative 方法在必要時將絕對 URI 轉(zhuǎn)換為相對 URI。
如果 URI 字符串是格式良好的 URI 并且包括方案標(biāo)識符,Uri 構(gòu)造函數(shù)將不會轉(zhuǎn)義 URI 字符串。
Uri 屬性用轉(zhuǎn)義編碼返回規(guī)范化數(shù)據(jù)表示形式,任何 Unicode 值大于 127 的字符都會被替換為等效的十六進(jìn)制數(shù)。為使 URI 具有規(guī)范化格式,Uri 構(gòu)造函數(shù)執(zhí)行以下步驟:
- 將 URI 方案轉(zhuǎn)換為小寫。
- 將主機(jī)名轉(zhuǎn)換為小寫。 如果主機(jī)名為 IPv6 地址,則使用規(guī)范化 IPv6 地址。ScopeId 和其他可選的 IPv6 數(shù)據(jù)將被移除 移除默認(rèn)端口號和空端口號。 通過壓縮 /./、/../、// 等序列(包括轉(zhuǎn)義表示形式),規(guī)范化分層 URI 的路徑。
對于分層 URI,如果主機(jī)未以正斜杠 (/) 結(jié)尾,則添加一個正斜杠。
URI 中的任何保留字符都要根據(jù) RFC 2396 進(jìn)行轉(zhuǎn)義。
使用 ToString 方法,可以將 Uri 類的內(nèi)容從轉(zhuǎn)義編碼的 URI 引用轉(zhuǎn)換為可讀的 URI 引用。請注意,在 ToString 方法的輸出中,某些保留字符可能仍會被轉(zhuǎn)義。這是為了支持利用 ToString 返回的值明確無誤地重新構(gòu)造 URI。
某些 URI 會包括一個片段標(biāo)識符或一個查詢,或同時包含這兩項內(nèi)容。片段標(biāo)識符是跟在數(shù)字符號 (#) 之后的任意文本(不包括數(shù)字符號本身);段落文本儲存在 Fragment 屬性中。查詢信息是 URI 中跟在問號 (?) 后的任何文本;查詢文本存儲在 Query 屬性中。在 .NET Framework 1.1 版中,如果指定給構(gòu)造函數(shù)的字符串包含未知的方案和“c:\”,則 URI 類會在冒號后面插入“//”。例如,URI xyz:c:\abc 會轉(zhuǎn)換為 xyz://c:/abc。在 .NET Framework 2.0 版中已經(jīng)移除這一行為,示例字符串會轉(zhuǎn)換為 xyz:c:/abc。
| URI 類支持使用以下格式的 IP 地址:四組表示法的 IPv4 協(xié)議和冒號分隔的十六進(jìn)制 IPv6 協(xié)議。請記住在 IPv6 地址兩邊括上方括號,如 http://[::1]。 |
C# 1Uri?siteUri?=?new?Uri("http://www.contoso.com/");
2?
3WebRequest?wr?=?WebRequest.Create(siteUri); ?繼承層次結(jié)構(gòu) System.Object
??System.Uri
轉(zhuǎn)載于:https://www.cnblogs.com/Dlonghow/archive/2008/06/30/1232451.html
總結(jié)
以上是生活随笔為你收集整理的.NET Framework 类库: Uri类的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 小乖
- 下一篇: 俱乐部又多了一个MVP