检查Http &Https Url以c - sharp格式存在

本文关键字:sharp 格式 存在 Http Https Url 检查 | 更新日期: 2023-09-27 18:10:18

我目前正在做一个项目,我正面临一个问题,检查HTTPS URL是否正确。现在我已经在c#中完成了对HTTP的验证,现在我想验证HTTPS

我的HTTP验证代码。

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Proxy = WebProxy.GetDefaultProxy();
request.Proxy.Credentials = CredentialCache.DefaultCredentials;
// execute the request
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Response.Clear();
Response.Write(response.StatusDescription);
Response.End();

Anil

检查Http &Https Url以c - sharp格式存在

From MSDN

Create方法返回WebRequest类的后代在运行时确定为requestUri最接近的注册匹配。

例如,当传递以http://或https://开头的URI时在requestUri中,通过Create返回HttpWebRequest。

如果传递的是以ftp://开头的URI,则Create方法将返回FileWebRequest实例。如果传递了以file://开头的URI相反,Create方法将返回一个FileWebRequest实例。

已注册的预注册储备类型包括:

http://

https://

ftp://

文件://

.NET框架包括对http://, https://, ftp://,的支持和file://URI方案。自定义WebRequest后代来处理其他请求是用RegisterPrefix方法注册的。

这里有完整的参考

解决此错误:"基础连接已关闭:无法建立信任在请求和证书验证之前编写此代码。

 ServicePointManager.ServerCertificateValidationCallback +=
    delegate(
        object sender,
        X509Certificate certificate,
        X509Chain chain,
        SslPolicyErrors sslPolicyErrors)
        {
             return true;
        };

Ref: http://www.heatonresearch.com/articles/166/page2.html

try
{
    Uri uri = new Uri("https://www.httprecipes.com/1/5/https.php");
    WebRequest http = HttpWebRequest.Create(url);
    HttpWebResponse response = (HttpWebResponse)http.GetResponse();
    Stream stream = response.GetResponseStream();
}
    catch(UriFormatException e)
{
    Console.WriteLine("Invalid URL");
}
catch(IOException e)
{
    Console.WriteLine("Could not connect to URL");
}