【问题标题】:"http://www." on Uri.TryCreate bug?“http://www。”关于 Uri.TryCreate 错误?
【发布时间】:2014-10-26 17:22:57
【问题描述】:

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

对输入“http://www”的 url 第一次检查失败:

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

在这种情况下,TryCreate() 返回 true。谁能解释一下为什么?

谢谢。

【问题讨论】:

    标签: c# url uri


    【解决方案1】:

    “万维网”。 URI 的一部分是域名。

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

    结尾的点消除了歧义:“com”。是顶级域。

    所以http://www. 指的是顶级域“www”。即使此顶级域尚不存在,它也是一个有效的 URI。 (虽然它可能存在;我没有检查过。)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-18
      • 1970-01-01
      相关资源
      最近更新 更多