加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C#,有没有比IsWellFormedUriString更好的验证URL格式的方法?

发布时间:2020-12-15 03:54:28 所属栏目:百科 来源:网络整理
导读:有没有更好/更准确/更严格的方法/方法来确定URL是否格式正确? 使用: bool IsGoodUrl = Uri.IsWellFormedUriString(url,UriKind.Absolute); 不抓住一切如果我输入htttp://www.google.com并运行该过滤器,它会通过.然后在调用WebRequest.Create时得到NotSupp
有没有更好/更准确/更严格的方法/方法来确定URL是否格式正确?

使用:

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

不抓住一切如果我输入htttp://www.google.com并运行该过滤器,它会通过.然后在调用WebRequest.Create时得到NotSupportedException.

这个不好的网址也会使它超越以下代码(这是唯一可以找到的其他过滤器):

Uri nUrl = null;
if (Uri.TryCreate(url,UriKind.Absolute,out nUrl))
{
    url = nUrl.ToString(); 
}

解决方法

Uri.IsWellFormedUriString(“htttp://www.google.com”,UriKind.Absolute)返回true的原因是因为它的形式可能是一个有效的Uri. URI和URL不一样.

见:What’s the difference between a URI and a URL?

在你的情况下,我会检查新的Uri(“htttp://www.google.com”).Scheme等于http或https.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读