URI コンストラクター
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
オーバーロード
| 名前 | 説明 |
|---|---|
| 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>
<li>
空の権限コンポーネントは、空でないパス、クエリ コンポーネント、またはフラグメント コンポーネントが続く限り許可されます。 これにより、RFC の意図と思われる "file:///foo/bar"などの URI の解析が可能になります。2396 文法では許可されていませんが。 権限コンポーネントが空の場合、ユーザー情報、ホスト、およびポートのコンポーネントは未定義になります。
</li>
<li>
空の相対パスを使用できます。これはRFC の意図のようです。2396 文法では許可されていませんが。 この偏差の主な結果は、 "#foo" などのスタンドアロン フラグメントが、空のパスと指定されたフラグメントを持つ相対 URI として解析され、ベース URI に対して有効に解決できることです。
<li>
ホスト コンポーネント内の IPv4 アドレスは、 RFC 2732 で指定されているように厳密に解析されます。ドット付きクワッド アドレスの各要素には、3 桁以下の 10 進数を含めなければなりません。 各要素は、255 以下の値を持つようさらに制約されます。
</li>
<li>
1 つのドメイン ラベルのみで構成されるホスト コンポーネント内のホスト名は、 英数字 で始まる場合に許可されます。 これは RFC 2396 セクション の意図のようです。3.2.2 文法では許可されていません。 この偏差の結果として、 s://123などの階層 URI の機関コンポーネントがサーバー ベースの機関として解析されます。
</li>
<li>
ホスト コンポーネントに対して IPv6 アドレスが許可されます。 IPv6 アドレスは、RFC 2732 で指定されている角かっこ ('['と']') で囲む必要があります。 IPv6 アドレス自体は 、RFC 2373 に従って解析する必要があります。 IPv6 アドレスは、RFC で暗黙的な制約である 16 バイト以下のアドレス情報を記述するためにさらに制約されます。2373 ですが、文法では表現できません。
</li>
<li>
他のカテゴリの文字は、RFC のどこででも許可されます。2396 は、エスケープされたオクテット 、つまり、ユーザー情報、パス、クエリ、およびフラグメント コンポーネント、および権限がレジストリ ベースの場合は機関コンポーネントを許可します。 これにより、URI に、US-ASCII 文字セット内の文字以外の Unicode 文字を含めることができます。
</li>
</ul>
java.net.URI.URI(java.lang.String)の Java ドキュメント。
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。
適用対象
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>
<li>
最初は、結果文字列は空です。
</li>
<li>
スキームが指定されている場合は、結果に追加され、その後にコロン文字 (':') が続きます。
</li>
<li>
スキーム固有の部分が指定されている場合は、追加されます。 有効な URI 文字ではない文字はすべて引用符で囲まれます。
</li>
<li>
最後に、フラグメントが指定された場合、ハッシュ文字 ('#') が文字列に追加され、その後にフラグメントが追加されます。 有効な URI 文字ではない文字はすべて引用符で囲まれます。
</li>
</ol>
結果の URI 文字列は、 #URI(String) コンストラクターを呼び出すかのように新しい URI インスタンスを作成するために解析されます。これにより、 URISyntaxException がスローされる可能性があります。
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。
適用対象
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
Path
- fragment
- String
Fragment
- 属性
例外
注釈
指定されたコンポーネントから階層 URI を構築します。
コンポーネントは、 null渡すことによって未定義のままになる場合があります。
この便利なコンストラクターは、次のように 7 つの引数コンストラクターを呼び出した場合と同様に機能します。
<blockquote>new#URI(String, String, String, int, String, String, String) URI(scheme, null, host, -1, path, null, fragment);</blockquote>
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。
適用対象
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
Path
- query
- String
クエリ
- fragment
- String
Fragment
- 属性
例外
注釈
指定されたコンポーネントから階層 URI を構築します。
スキームが指定されている場合、パス (指定されている場合) は空であるか、スラッシュ文字 ('/') で始まる必要があります。 それ以外の場合は、対応するパラメーターに null を渡すことによって、新しい URI のコンポーネントが未定義のままになることがあります。
このコンストラクターは、最初に RFC 2396 セクション で指定された規則に従って、指定されたコンポーネントから URI 文字列を構築します。5.2、ステップ 7:
<ol>
<li>
最初は、結果文字列は空です。
</li>
<li>
スキームが指定されている場合は、結果に追加され、その後にコロン文字 (':') が続きます。
</li>
<li>
権限が与えられた場合は、文字列 "//" が付加され、その後に権限が付加されます。 権限にリテラル IPv6 アドレスが含まれている場合、アドレスは角かっこ ('[' および ']') で囲む必要があります。
予約されていない、区切り記号、エスケープされた、またはその他のカテゴリに含まれていない文字、および商用文字 ('@') と等しくない文字はすべて引用符で囲まれます。
</li>
<li>
パスが指定されている場合は、追加されます。
予約されていない、区切られた、エスケープされた、またはその他のカテゴリに含まれていない文字、およびスラッシュ文字 ('/') または商用文字 ('@') と等しくない文字はすべて引用符で囲まれます。
</li>
<li>
クエリが指定された場合は、疑問符文字 ('?') が追加され、その後にクエリが続きます。 有効な URI 文字ではない文字はすべて引用符で囲まれます。
</li>
<li>
最後に、フラグメントが指定された場合は、ハッシュ文字 ('#') が追加され、その後にフラグメントが追加されます。 有効な URI 文字ではない文字はすべて引用符で囲まれます。
</li>
</ol>
その後、結果の URI 文字列は、 #URI(String) コンストラクターを呼び出し、その結果に #parseServerAuthority() メソッドを呼び出すかのように解析されます。これにより、 URISyntaxException がスローされる可能性があります。
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。
適用対象
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
Path
- query
- String
クエリ
- fragment
- String
Fragment
- 属性
例外
注釈
指定されたコンポーネントから階層 URI を構築します。
スキームが指定されている場合、パス (指定されている場合) は空であるか、スラッシュ文字 ('/') で始まる必要があります。 それ以外の場合は、対応するパラメーターの null を渡すか、 port パラメーターの場合は -1を渡すことによって、新しい URI のコンポーネントが未定義のままになることがあります。
このコンストラクターは、最初に RFC 2396 セクション で指定された規則に従って、指定されたコンポーネントから URI 文字列を構築します。5.2、ステップ 7:
<ol>
<li>
最初は、結果文字列は空です。
</li>
<li>
スキームが指定されている場合は、結果に追加され、その後にコロン文字 (':') が続きます。
</li>
<li>
ユーザー情報、ホスト、またはポートが指定されている場合は、文字列 "//" が追加されます。
</li>
<li>
ユーザー情報が指定された場合は、追加され、その後に商用文字 ('@') が続きます。
予約されていない、区切り記号、エスケープされた、またはその他のカテゴリに含まれていない文字はすべて引用符で囲まれます。
</li>
<li>
ホストが指定されている場合は、追加されます。 ホストがリテラル IPv6 アドレスであり、角かっこ ('[' と ']') で囲まれていない場合は、角かっこが追加されます。
</li>
<li>
ポート番号を指定すると、コロン文字 (':') が追加され、その後にポート番号が 10 進数で続きます。
</li>
<li>
パスが指定されている場合は、追加されます。
予約されていない、区切られた、エスケープされた、またはその他のカテゴリに含まれていない文字、およびスラッシュ文字 ('/') または商用文字 ('@') と等しくない文字はすべて引用符で囲まれます。
</li>
<li>
クエリが指定された場合は、疑問符文字 ('?') が追加され、その後にクエリが続きます。 有効な URI 文字ではない文字はすべて引用符で囲まれます。
</li>
<li>
最後に、フラグメントが指定された場合は、ハッシュ文字 ('#') が追加され、その後にフラグメントが追加されます。 有効な URI 文字ではない文字はすべて引用符で囲まれます。
</li>
</ol>
その後、結果の URI 文字列は、 #URI(String) コンストラクターを呼び出し、その結果に #parseServerAuthority() メソッドを呼び出すかのように解析されます。これにより、 URISyntaxException がスローされる可能性があります。
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。