是否有更好/更准确/更严格的方法/方法来确定url的格式是否正确?
使用:

bool IsGoodUrl = Uri.IsWellFormedUriString(url, UriKind.Absolute);

不是什么都能抓住。如果我输入htttp://www.google.com并运行该过滤器,它就会通过。然后我打电话给NotSupportedException时会得到WebRequest.Create
此错误的URL也会使其超过以下代码(这是我唯一可以找到的其他筛选器):
Uri nUrl = null;
if (Uri.TryCreate(url, UriKind.Absolute, out nUrl))
{
    url = nUrl.ToString();
}

最佳答案

返回true的原因是它的形式可能是一个有效的uri。uri和url不相同。
参见:What's the difference between a URI and a URL?
在你的情况下,我会检查Uri.IsWellFormedUriString("htttp://www.google.com", UriKind.Absolute)等于new Uri("htttp://www.google.com").Schemehttp

07-27 13:33