uri 類別
具有彈性、與通訊協定無關的 URI 實作。 URI 執行個體不可變。 在空白 URI 上查詢各種欄位將會傳回空字串。 在空白 URI 上查詢各種診斷成員將會傳回 false。
警告
此主題包含 C++ REST SDK 1.0 (代號名稱 "Casablanca") 的相關資訊。如果您是使用 Codeplex Casablanca 網頁 提供的較新版本,則請使用位於 http://casablanca.codeplex.com/documentation 的本機說明文件。
class uri;
Members
公用類別
名稱 |
描述 |
---|---|
URI 的各種元件。 此列舉可用來指出哪個 URI 元件正在被編碼成 encode_uri_component。 這樣可以讓特定編碼作業執行。 結構描述和連接埠不允許 '%',因此不需要加以編碼。 |
公用建構函式
名稱 |
描述 |
---|---|
多載。 建立空白的 URI |
公用方法
名稱 |
描述 |
---|---|
使用與這個 URI 相同的授權部分來建立新的 URI 物件,省略資源和查詢部份。 |
|
將已編碼的字串解碼。 |
|
將 RFC 3986 非保留字元以外的所有字元都轉換成其十六進位表示法,以將字串編碼。 |
|
根據 RFC 3986 將 URI 元件編碼。 請注意,如果是指定完整 URI,而不是個別的 URI 元件,不在非保留集合中的所有字元都會逸出。 |
|
取得 URI 的片段元件做為編碼字串。 |
|
回覆其他 URI 是否具有和這個相同的授權 |
|
取得 URI 的主機元件做為編碼字串。 |
|
「授權」URI 是只有結構描述、選擇性使用者資訊、主機名稱和 (選擇性) 連接埠的 URI。 |
|
空白的 URI 沒有指定元件,並做為預設值 |
|
回送 URI 是參考主機名稱或 IP 位址的 URI,只在本機電腦上有意義。 |
|
可攜式 URI 具有可全域解析的主機名稱 (從另一台電腦使用)。 |
|
萬用字元 URI 會參照解析為本機電腦的所有主機名稱 (使用 * 或 +) |
|
回覆這個 URI 的路徑部分是否空白 |
|
取得 URI 的路徑元件做為編碼字串。 |
|
取得 URI 的連接埠元件。 如果未指定連接埠,則傳回 -1。 |
|
取得 URI 的查詢元件做為編碼字串。 |
|
取得這個 URI 的路徑、查詢和片段部分,可能是空的。 |
|
取得 URI 的結構描述元件做為編碼字串。 |
|
將路徑分割成其階層元件。 |
|
將查詢分割成其機碼值元件。 |
|
以字串傳回完整 (編碼) 的 URI。 |
|
取得 URI 的使用者資訊元件做為編碼字串。 |
|
驗證字串為 URI。 |
公用運算子
名稱 |
描述 |
---|---|
備註
此實作接受 URI ('https://msn.com/path'),也接受 URI 相對參照 ('/path?query#frag')。 此實作不提供任何結構描述特定處理作業,範例如下:'http://path1/path'。 這是有效的 URI,但不是有效的 http-uri -- 也就是說,其語法正確,但不符合 http 結構描述的需求 (http 需要主機)。 我們可以提供此 URI,方法是允許可插入的「結構描述」原則類別,其提供額外的功能,可根據結構描述來驗證和規範化 URI,並針對不同結構描述 (因而不同語意) 的 URI 導入類型安全層級。 實作與結構描述無關的 URI 設備有一個問題,那就是比較相等性的問題。 例如,下列 URI 被視為相等:'https://msn.com'、'https://msn.com:80'。 也就是說,「預設」連接埠可以省略,也可以明確指定。 我們既然沒有辦法將結構描述對應至其預設連接埠,也就沒辦法知道這些是相等的。 這只是有關結構描述特定行為的類別問題之一。
需求
**標頭:**base_uri.h
**命名空間:**web::http