检查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
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");
}