asp.net C#检查URL是否有效的方法
用户们有时候会输入一些网站链接,我们必须要确认这些链接的有效性。在这方面,有一些重要的代码可以帮助我们实现这一目标。
让我们看看一个基于JavaScript的正则表达式验证方法。虽然它可以检查链接的格式是否正确,但它并不能确保链接是否真的有效。真正的有效性检查需要更复杂的操作。
现在,让我们转向C的世界,来看看如何用C代码来检查URL的有效性。下面是一个简单的例子:
```csharp
private bool UrlCheck(string strUrl)
{
if (!strUrl.Contains(" && !strUrl.Contains("
{
strUrl = " + strUrl;
}
try
{
HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(strUrl);
myRequest.Method = "HEAD";
myRequest.Timeout = 10000; // 设置超时时间为10秒
HttpWebResponse res = (HttpWebResponse)myRequest.GetResponse();
return (res.StatusCode == HttpStatusCode.OK);
}
catch
{
return false;
}
}
```
这个方法首先检查URL是否包含http或https协议头,如果没有,就默认加上http协议头。然后尝试通过HEAD方法请求URL,如果服务器返回的状态码是HTTP OK,那么就认为这个URL是有效的。否则,如果请求过程中发生任何错误,就认为这个URL是无效的。