我需要检查给定的 URL(不一定以 http 或 https 为前缀)是 HTTP 还是 HTTPs。
这在 C# 中可行吗?
如果用户只提供没有任何前缀的 www.dotnetperls.com,我必须能够识别它是 HTTP 的。尝试了以下,
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("www.dotnetpearls.com");
string u = request.RequestUri.Scheme;
但这会给出无效的 URL 错误。它期望指定协议(protocol)。
最佳答案
尝试这样的事情:
public static bool IsHttps()
{
return HttpContext.Current.Request.IsSecureConnection;
}
或者如果您使用 asp.net-web-api你可以检查是否 Request.RequestUri.Scheme
是 Uri.UriSchemeHttps
。
关于c# - 如何在 C# 中检查给定的 URL 是 HTTP 还是 HTTPS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20679016/