1. ホーム
  2. c#

[解決済み】文字列が有効なHTTP URLであるかどうかを確認する方法は?

2022-03-27 04:58:56

質問

があります。 Uri.IsWellFormedUriString Uri.TryCreate メソッドが返されるようです。 true は、ファイルパスなど。

入力検証のために、ある文字列が有効な(必ずしもアクティブではない)HTTP URLであるかどうかを確認するにはどうすればよいですか?

どのように解決するのですか?

HTTPのURLを検証するために、これを試してみてください ( uriName はテストしたいURI)。

Uri uriResult;
bool result = Uri.TryCreate(uriName, UriKind.Absolute, out uriResult) 
    && uriResult.Scheme == Uri.UriSchemeHttp;

あるいは、HTTPとHTTPSの両方のURLを有効なものとして受け入れたい場合(J0e3ganのコメントによる)。

Uri uriResult;
bool result = Uri.TryCreate(uriName, UriKind.Absolute, out uriResult) 
    && (uriResult.Scheme == Uri.UriSchemeHttp || uriResult.Scheme == Uri.UriSchemeHttps);