ベストかないドメイン名が有効な、"ホスト"ファイルとは何ですか?
-
12-09-2019 - |
質問
Windows ホストファイル す准IPを ホスト名 これより大きな自由より通常のインターネットドメイン名です。きたらと思いる場合はtrue、そうでない場合はfalseを指定された名前が有効な"ホストファイルのドメイン名です。
に基づく この答え 実験の作品になったこの機能:
private static bool IsValidDomainName(string domain)
{
if (String.IsNullOrEmpty(domain) || domain.Length > 255)
{
return false;
}
Uri uri;
if (!Uri.TryCreate("http://" + domain, UriKind.Absolute, out uri))
{
return false;
}
if (!String.Equals(uri.Host, domain, StringComparison.OrdinalIgnoreCase) || !uri.IsWellFormedOriginalString())
{
return false;
}
foreach (string part in uri.Host.Split('.'))
{
if (part.Length > 63)
{
return false;
}
}
return true;
}
ものではUnicode名(基本的にはregexうになります。
があるので、良によりエレガントないという。
更新:このように 案, は、 Uriです。CheckHostName 方法はほとんどはだいたいっていないホスト名のように"実験"とWindowsでの、"ホスト"ファイルです。私は特別の場合は"-"がんの関係があります
解決
どのように システム。Uriです。CheckHostName() 方法は?
private static bool IsValidDomainName(string name)
{
return Uri.CheckHostName(name) != UriHostNameType.Unknown;
}
なぜその仕事の理由を教えてください。
他のヒント
これらの方法の信頼性はどう対応の場合においてもドメイン名を偽のように"fasdfasdfasd.com".
最良の方法で送WebResponse待ちからの応答がある。こちらのコードについて説明このプロセス(コードスニペットなコピー-貼り付けます。
http://www.dotnetfunda.com/articles/show/1072/validating-domain-name-in-aspnet
感謝
所属していません StackOverflow