Uri クラス
URI (Uniform Resource Identifier) のオブジェクト表現を可能にし、URI の一部へ簡単にアクセスできるようにします。
この型のすべてのメンバの一覧については、Uri メンバ を参照してください。
System.Object
System.MarshalByRefObject
System.Uri
<Serializable>
Public Class Uri Inherits MarshalByRefObject Implements ISerializable
[C#]
[Serializable]
public class Uri : MarshalByRefObject, ISerializable
[C++]
[Serializable]
public __gc class Uri : public MarshalByRefObject, ISerializable
[JScript]
public
Serializable
class Uri extends MarshalByRefObject implements ISerializable
スレッドセーフ
この型の public static (Visual Basicでは Shared) のすべてのメンバは、マルチスレッド操作で安全に使用できます。インスタンスのメンバの場合は、スレッドセーフであるとは限りません。
解説
URI は、アプリケーションが使用できるインターネット上のリソースを簡潔に表す記述方式です。 Uri クラスは、URI の解析、比較、結合などの URI 処理のためのプロパティとメソッドを定義します。 Uri クラスのプロパティは読み取り専用です。変更可能なオブジェクトを作成するには、 UriBuilder クラスを使用します。
Uri クラスは、"https://www.contoso.com/index.htm" などの絶対 URI だけを格納します。"/new/index.htm" などの相対 URI は、ベース URI を基準にして展開し、絶対 URI に変換する必要があります。 MakeRelative メソッドは、必要に応じて絶対 URI を相対 URI に変換するメソッドです。
エスケープ シーケンスが含まれるスキーム ID を含む整形式 URI 文字列の場合、 Uri コンストラクタではこの文字列をエスケープできません。このコンストラクタは、パーセント記号 (%) を含む相対 URI 文字列をエスケープします。
URI のプロパティは、正規データ形式をエスケープ エンコーディングで返します。このとき、127 より大きい ASCII 値の文字はすべて、それと等価の 16 進数値に置換されます。URI を正規形式で格納するため、 Uri コンストラクタは次に示すステップを実行します。
- URI スキームを小文字に変換します。
- ホスト名を小文字に変換します。
- 既定のポート番号と空のポート番号を削除します。
- "/" セグメントや "/test" セグメントのような余分なセグメントを URI から削除し、この URI を単純にします。
ToString メソッドを使用すると、 Uri クラスの内容をエスケープ エンコード URI 参照から判読可能な URI 参照へ変換できます。
一部の URI には、フラグメント識別子またはクエリが含まれています。フラグメント識別子とは、URI 上でシャープ記号 (#) の後に続く任意のテキストです。フラグメント識別子は Fragment プロパティに格納されています。クエリ情報とは、URI 上で疑問符 (?) の後に続く任意のテキストです。クエリ情報は Query プロパティに格納されています。クエリ情報とは、URI 上で疑問符 (?) の後に続く任意のテキストです。クエリ テキストは Query プロパティに格納されています。
メモ URI クラスでは、IPv4 プロトコルのピリオド区切りの 10 進表記、および IPv6 プロトコルのコロン区切りの 16 進表記の、両方の IP アドレス形式を使用できます。なお、IPv6 アドレスの場合は、http://[::1] のように、角かっこで囲んでください。
.NET Compact Framework - Windows CE .NET プラットフォームに関する注意点: .NET Compact Framework では、file:// 形式で始まる URL の処理方法が完全版の .NET Framework とは異なります。file://myfile と相対的に指定すると、\\myfile として解決されます。file:///myfile ( 3 つのスラッシュ) を使用すると、ルート ディレクトリにある\myfile として解決されます。正常な操作を確保するには、絶対パス情報を指定してください。
使用例
Uri クラスのインスタンスを作成し、このインスタンスを使用して WebRequest を作成する例を次に示します。
Dim siteUri As New Uri("https://www.contoso.com/")
Dim wr As WebRequest = WebRequest.Create(siteUri)
[C#]
Uri siteUri = new Uri("https://www.contoso.com/");
WebRequest wr = WebRequest.Create(siteUri);
[C++]
Uri* siteUri = new Uri(S"https://www.contoso.com/");
WebRequest* wr = WebRequest::Create(siteUri);
[JScript]
var siteUri : Uri = new Uri("https://www.contoso.com/");
var wr : WebRequest = WebRequest.Create(siteUri);
必要条件
名前空間: System
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET
アセンブリ: System (System.dll 内)