是否有更好/更准确/更严格的方法/方法来确定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").Scheme
或http
。