首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何检查字符串是否为有效的HTTP URL?

如何检查字符串是否为有效的HTTP URL?
EN

Stack Overflow用户
提问于 2011-09-28 13:48:08
回答 6查看 239.2K关注 0票数 313

Uri.IsWellFormedUriStringUri.TryCreate方法,但它们似乎为文件路径等返回true

为了进行输入验证,如何检查字符串是否为有效的(不一定是活动的) HTTP URL?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2011-09-28 18:30:34

尝试执行此操作以验证HTTP (uriName是您要测试的URI ):

Uri uriResult;
bool result = Uri.TryCreate(uriName, UriKind.Absolute, out uriResult) 
    && uriResult.Scheme == Uri.UriSchemeHttp;

或者,如果您想同时接受HTTP和HTTPS URL作为有效URL(根据J0e3gan的注释):

Uri uriResult;
bool result = Uri.TryCreate(uriName, UriKind.Absolute, out uriResult) 
    && (uriResult.Scheme == Uri.UriSchemeHttp || uriResult.Scheme == Uri.UriSchemeHttps);
票数 537
EN

Stack Overflow用户

发布于 2016-05-05 20:56:56

这个方法在http和https中都工作得很好。只有一行:)

if (Uri.IsWellFormedUriString("https://www.google.com", UriKind.Absolute))

MSDN:IsWellFormedUriString

票数 141
EN

Stack Overflow用户

发布于 2011-09-28 14:14:34

Uri.TryCreate之后,你可以检查Uri.Scheme,看看它是否是超文本传输协议。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7578857

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档