如何检查一个字符串是否是一个有效的HTTP URL?

如何检查一个字符串是否是一个有效的HTTP URL?

问题描述:

有该Uri.IsWellFormedUriString$c$c>和 Uri.TryCreate 的方法,但他们似乎回到文件路径等。

我如何检查一个串是否有一个输入验证目的?

How do I check whether a string is a valid (not necessarily active) HTTP URL for input validation purposes?

试试这个验证的HTTP URL( 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网址为有效(每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);