";http://www.";关于Uri.TryCreate错误

本文关键字:quot TryCreate 错误 Uri www http 关于 | 更新日期: 2023-09-27 18:27:50

我正在从用户那里获取URL,并检查这个URL是否是有效的URL。

输入时url的第一次检查失败"http://www.":

rawUrl = "http://www.";
Uri url;
if (!Uri.TryCreate(rawUrl, UriKind.Absolute, out url))
     throw new InvalidUrlException(inputUrl);

在这种情况下,TryCreate()返回true。有人能解释一下原因吗?

谢谢。

";http://www.";关于Uri.TryCreate错误

URI的"www."部分是域名。

没有点的域名是不明确的。例如,"com"指的是名为"com"的本地服务器还是顶级域"com"?

后面的点消除了歧义:"com"是顶级域。

因此http://www.指的是顶级域"www"。即使这个顶级域还不存在,它也是一个有效的URI。(尽管它可能存在;我还没有检查。)