如何检查字符串是否是有效的 HTTP URL?
问题描述:
有Uri.IsWellFormedUriString
和 Uri.TryCreate
方法,但它们似乎为文件路径等返回 true
如何检查字符串是否是用于输入验证的有效(不一定是活动的)HTTP URL?
How do I check whether a string is a valid (not necessarily active) HTTP URL for input validation purposes?
答
试试这个来验证 HTTP URLs(uriName
是你想要测试的 URI):
Try this to validate HTTP URLs (uriName
is the URI you want to test):
Uri uriResult;
bool result = Uri.TryCreate(uriName, UriKind.Absolute, out uriResult)
&& uriResult.Scheme == Uri.UriSchemeHttp;
或者,如果您想同时接受 HTTP 和 HTTPS URL 都有效(根据 J0e3gan 的评论):
Or, if you want to accept both HTTP and HTTPS URLs as valid (per J0e3gan's comment):
Uri uriResult;
bool result = Uri.TryCreate(uriName, UriKind.Absolute, out uriResult)
&& (uriResult.Scheme == Uri.UriSchemeHttp || uriResult.Scheme == Uri.UriSchemeHttps);