System::Uri クラス

Uri class

統一リソース識別子。このクラスのオブジェクトはSystem::MakeObject() 関数を使用してのみ割り当てるべきです。スタック上や operator new を使用してこの型のインスタンスを作成しないでください。そうしないと実行時エラーやアサーション違反が発生します。常にこのクラスをSystem::SmartPtr ポインタでラップし、そのポインタを関数の引数として渡すようにしてください。

class Uri : public System::Object

メソッド

メソッド説明
static CheckHostName(String)指定されたホスト名のタイプを判定します。
static CheckSchemeName(const String&)指定されたスキームが有効かどうかを判定します。
static Compare(const SharedPtr<Uri>&, const SharedPtr<Uri>&, UriComponents, UriFormat, StringComparison)指定された比較ルールを使用して指定されたUri オブジェクトを比較します。
Equals(SharedPtr<Object>) override現在のオブジェクトと指定されたオブジェクトが表す URI が等しいかどうかを判定します。
static EscapeDataString(const String&)文字列をエスケープ表現に変換します。
static EscapeUriString(const String&)URI 文字列をエスケープ表現に変換します。
static FromHex(char16_t)16 進数の桁の十進数値を取得します。
get_AbsolutePath() constURI の絶対パスを返します。
get_AbsoluteUri() const絶対 URI を返します。
get_Authority() constサーバーのホスト名とポート番号を返します。
get_DnsSafeHost() constエスケープされていないホスト名を返します。
get_Fragment() constエスケープされた URI フラグメントを返します。
get_Host() constホスト名を返します。
get_HostNameType() constホスト名の種類を返します。
get_IdnHost() constホストの国際化ドメイン名を返します。
get_IsAbsoluteUri() const現在のオブジェクトが表す URI が絶対パスかどうかを判断します。
get_IsDefaultPort() const現在のオブジェクトが表す URI が、そのスキームのデフォルトポートを持つかどうかを判断します。
get_IsFile() const現在のオブジェクトが表す URI がファイルかどうかを判断します。
get_IsLoopback() const現在のオブジェクトが表す URI がローカルホストを参照しているかどうかを判断します。
get_IsUnc() const現在のオブジェクトが表す URI が UNC パスかどうかを判断します。
get_LocalPath() const現在のオブジェクトが表す URI が参照するファイル名の OS 表現を返します。
get_OriginalString() const現在のオブジェクトが構築されたときにコンストラクタに渡された URI 文字列を返します。
get_PathAndQuery() const現在のオブジェクトが表す URI の絶対パスとクエリ コンポーネントを、クエスチョンマーク (?) で区切って返します。
get_Port() const現在のオブジェクトが表す URI のポート番号を返します。
get_Query() const現在のオブジェクトが表す URI に含まれるクエリ情報を返します。
get_Scheme() const現在のオブジェクトが表す URI のスキームを返します。
get_Segments() const現在のオブジェクトが表す URI のパス セグメントを含む文字列配列を返します。
get_UserEscaped() const現在のオブジェクトのコンストラクタに渡された URI 文字列が完全にエスケープされているかどうかを判断します。
get_UserInfo() constユーザー名、パスワード、および現在のオブジェクトが表す URI に関連付けられたその他のユーザー情報を返します。
GetComponents(UriComponents, UriFormat) const現在のオブジェクトが表す URI の指定されたコンポーネントを、指定されたエスケープ方式で返します。
GetHashCode() const overrideURI のハッシュコードを取得します。
GetLeftPart(UriPartial)現在のオブジェクトが表す URI の指定された部分を返します。
static HexEscape(char16_t)指定された文字の十六進表現を返します。
static HexUnescape(const String&, int32_t&)指定された文字の十六進表現を文字に変換します。
IsBaseOf(const SharedPtr<Uri>&) const現在の Uri オブジェクトが表す URI が、指定された Uri オブジェクトが表す URI のベースかどうかを判断します。
static IsHexDigit(char16_t)指定された文字が有効な十六進数字かどうかを判断します。
static IsHexEncoding(const String&, int32_t)指定された文字列の指定位置にある文字が十六進エンコードされているかどうかを判断します。
IsWellFormedOriginalString() constこの Uri を構築するために使用された文字列が正しく形成されているか、さらにエスケープする必要がないかを示します。
static IsWellFormedUriString(const String&, UriKind)指定された文字列が正しく形成された URI かどうかを判断します。
MakeRelative(const SharedPtr<Uri>&)2つの Uri インスタンス間の差異を判断します。
MakeRelativeUri(const SharedPtr<Uri>&)現在のオブジェクトと指定された Uri オブジェクトが表す URI 間の差異を判断します。
ToString() const override現在のオブジェクトが表す URI の文字列表現を返します。
static TryCreate(const String&, UriKind, SharedPtr<Uri>&)指定された URI を表す Uri オブジェクトを作成します。引数は URI の種類を指定します。
static TryCreate(const SharedPtr<Uri>&, const String&, SharedPtr<Uri>&)ベース URI を表す指定された Uri オブジェクトと相対 URI の文字列表現から Uri オブジェクトを作成します。
static TryCreate(const SharedPtr<Uri>&, const SharedPtr<Uri>&, SharedPtr<Uri>&)指定されたベース URI と相対 URI から Uri オブジェクトを作成します。
static UnescapeDataString(const String&)指定されたエスケープされた文字列のエスケープを解除します。
Uri(const String&)指定された URI を表す Uri オブジェクトを作成します。
Uri(const String&, bool)指定された URI を表す Uri オブジェクトを作成します。引数は URI をエスケープするかどうかを指定します。
Uri(const SharedPtr<Uri>&, const String&, bool)ベース URI を表す指定された Uri オブジェクトと相対 URI の文字列表現から Uri オブジェクトを作成します。引数は URI をエスケープするかどうかを指定します。
Uri(const String&, UriKind)指定された URI を表す Uri オブジェクトを作成します。引数は URI の種類を指定します。
Uri(const SharedPtr<Uri>&, const String&)指定されたベース URI と相対 URI から Uri オブジェクトを作成します。
Uri(const SharedPtr<Uri>&, const SharedPtr<Uri>&)指定されたベース URI と相対 URI から Uri オブジェクトを作成します。

フィールド

フィールド説明
static SchemeDelimiterUri の通信プロトコル スキームとアドレス部分を区切る文字を指定します。
static UriSchemeFileUri がファイルへのポインタであることを指定します。
static UriSchemeFtpUri がファイル転送プロトコルを介してアクセスされることを指定します。
static UriSchemeGopherUri が Gopher プロトコルを介してアクセスされることを指定します。
static UriSchemeHttpUri がハイパーテキスト転送プロトコル (HTTP) を介してアクセスされることを指定します。
static UriSchemeHttpsUri がセキュアハイパーテキスト転送プロトコル (HTTPS) を介してアクセスされることを指定します。
static UriSchemeMailtoUri がメールアドレスであり、シンプルメール転送プロトコル (SMTP) を介してアクセスされることを指定します。
static UriSchemeNetPipeUri が Windows Communication Foundation が使用する NetPipe スキームを介してアクセスされることを指定します。
static UriSchemeNetTcpUri が Windows Communication Foundation が使用する NetTcp スキームを介してアクセスされることを指定します。
static UriSchemeNewsUri がインターネットニュースグループであり、ネットワークニュース転送プロトコル (NNTP) を介してアクセスされることを指定します。
static UriSchemeNntpUri がインターネットニュースグループであり、ネットワークニュース転送プロトコル (NNTP) を介してアクセスされることを指定します。

備考

#include "system/smart_ptr.h"
#include "system/uri.h"
#include <iostream>

int main()
{
  const auto uri = System::MakeObject<System::Uri>(u"https://docs.codeporting.com/translator/cs2cpp/release-notes/2021/codeporting-translator-cs2cpp-21-9/");

std::cout <<
  "AbsolutePath: " << uri->get_AbsolutePath() << std::endl <<
  "AbsoluteUri: " << uri->get_AbsoluteUri() << std::endl <<
  "Authority: " << uri->get_Authority() << std::endl <<
  "DnsSafeHost: " << uri->get_DnsSafeHost() << std::endl <<
  "Fragment: " << uri->get_Fragment() << std::endl <<
  "Host: " << uri->get_Host() << std::endl <<
  "IdnHost: " << uri->get_IdnHost() << std::endl <<
  "LocalPath: " << uri->get_LocalPath() << std::endl <<
  "OriginalString: " << uri->get_OriginalString() << std::endl <<
  "PathAndQuery: " << uri->get_PathAndQuery() << std::endl <<
  "Port: " << uri->get_Port() << std::endl <<
  "Query: " << uri->get_Query() << std::endl <<
  "Scheme: " << uri->get_Scheme() << std::endl;

  return 0;
}
/*
This code example produces the following output:
AbsolutePath: /translator/cs2cpp/release-notes/2021/codeporting-translator-cs2cpp-21-9/
AbsoluteUri: https://docs.codeporting.com/translator/cs2cpp/release-notes/2021/codeporting-translator-cs2cpp-21-9/
Authority: docs.codeporting.com
DnsSafeHost: docs.codeporting.com
Fragment:
Host: docs.codeporting.com
IdnHost: docs.codeporting.com
LocalPath: /translator/cs2cpp/release-notes/2021/codeporting-translator-cs2cpp-21-9/
OriginalString: https://docs.codeporting.com/translator/cs2cpp/release-notes/2021/codeporting-translator-cs2cpp-21-9/
PathAndQuery: /translator/cs2cpp/release-notes/2021/codeporting-translator-cs2cpp-21-9/
Port: 443
Query:
Scheme: https
*/

参照