做了个监控网站的C#项目,判断网站是否运行正常,采用的就是获取HTTP头返回的状态码。
比如状态码为200的就是网站正常,403是Forbidden,404是网页未找到这样。
代码如下:
首先是使用库using System.Net;
public static bool getState()
{
string URL = "https://www.baidu.com/";
string statusCode;
try
{
HttpWebRequest req = (HttpWebRequest)WebRequest.CreateDefault(new Uri(URL));
req.Method = "HEAD";//设置请求方式为请求头,这样就不需要把整个网页下载下来
req.Timeout = 10000;
HttpWebResponse res = (HttpWebResponse)req.GetResponse();
statusCode = res.StatusCode.ToString();
if (statusCode == "OK")
{
return true;
}
else
{
return false;
}
}
catch (WebException ex)//使用try catch方式,如果正常,则返回OK,不正常就返回对应的错误。
{
Console.WriteLine(ex);
return false;
}
}