有没有更好/更准确/更严格的方法/方式来确定一个URL是否格式正确?
使用:
bool IsGoodUrl = Uri.IsWellFormedUriString(url, UriKind.Absolute);
并不是所有的URL都能被过滤掉。如果我输入htttp://www.google.com
,然后运行该过滤器,它会通过。但当调用WebRequest.Create
时,稍后就会出现NotSupportedException
。
这个不良的URL也可以通过下面的代码(这是我能找到的唯一另一个过滤器):
Uri nUrl = null;
if (Uri.TryCreate(url, UriKind.Absolute, out nUrl))
{
url = nUrl.ToString();
}