每天监测网站是否正常运行,之前是一个一个打开,现在写一个程序来监测。

步骤1.将文件配成XML格式方便读写,相对于数据库来说已操作。

XmlDocument dom = new XmlDocument();dom.Load(@"D:\ServerList.xml");foreach (XmlElement ServerC in dom.DocumentElement.ChildNodes){string ID = ServerC.SelectSingleNode("ID").InnerText;string Name = ServerC.SelectSingleNode("Name").InnerText;string IP = ServerC.SelectSingleNode("IP").InnerText;}

文件xml格式:其中encoding=”GB2312”,GB2312是一种可以识别中文的编码方式,不然会报如下错误

下图是正确的xml格式

步骤2:通过IP字段做为url去请求HttpWebRequest,查看返回的网站状态HttpStatusCode(此为枚举类型)。

字段名 说明
Continue 指示客户端可能继续其请求。
OK 指示请求成功,且请求的信息包含在响应中。 这是最常接收的状态代码。
Created 指示请求导致在响应被发送前创建新资源
Accepted 指示请求已被接受做进一步处理
UseProxy 指示请求应使用位于 Location 头中指定的URI 的代理服务器
BadRequest 如果没有其他适用的错误,或者不知道准确的错误或错误没有自己的错误代码,则发送

此外还要很多的状态码,请查阅CSDN

  try{HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);HttpWebResponse resp = (HttpWebResponse)req.GetResponse();if (resp.StatusCode == HttpStatusCode.OK){resp.Close();return "程序运行中......";}}catch (WebException e){return e.ToString() ;}return "程序已终止";

在运行时会出现如下错误代码:401

在网上找了一下解决方案,原因是:请求第一个IP是本地IP,需要用户认证才能登录。解决方法如下,将用户电脑登录名和密码,赋值给NetworkCredential。

 NetworkCredential d = new NetworkCredential("USERNAME", "password");// USERNAME电脑登录名,password登录密码req.Credentials = d;

完整代码如下:

 protected void Page_Load(object sender, EventArgs e){XmlDocument dom = new XmlDocument();dom.Load(@"D:\ServerList.xml");foreach (XmlElement ServerC in dom.DocumentElement.ChildNodes){string ID = ServerC.SelectSingleNode("ID").InnerText;string Name = ServerC.SelectSingleNode("Name").InnerText;string IP = ServerC.SelectSingleNode("IP").InnerText;HttpContext.Current.Response.Write(ID + "、<a href=" + IP + " target='_blank'>" + Name + "</a>" + "|" + CheckUrlVisit(ServerC.SelectSingleNode("IP").InnerText) + " <br>");}}public string CheckUrlVisit(string url){try{HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);NetworkCredential d = new NetworkCredential("USERNAME", "password");//远程服务器返回错误 (401) 未经授权 req.Credentials = d;HttpWebResponse resp = (HttpWebResponse)req.GetResponse();if (resp.StatusCode == HttpStatusCode.OK){resp.Close();return "程序运行中......";}}catch (WebException e){return e.ToString();}return "程序已终止";}

运行结果如下:

基于C#的WEB服务器运行状态监测程序相关推荐

  1. Web服务器和应用程序服务器有什么区别

    Web服务器和应用程序服务器有什么区别 [ 来源:javaworld.com | 作者:佚名 | 时间:2006-10-12 14:08:30 | 浏览:人次 ] 问:什么是应用程序服务器,什么是We ...

  2. WEB服务器、应用程序服务器、HTTP服务器的区别

    WEB服务器.应用程序服务器.HTTP服务器的区别 Web服务器: 基本功能就是提供Web信息浏览服务.它只需支持HTTP协议.HTML文档格式及URL.与客户端的网络浏览器配合.因为Web服务器主要 ...

  3. linux对web后端重要吗,基于Linux的Web服务器性能测试

    摘要:Linux作为一种免费的开源操作系统,正越来越受到人们的重视.随着稳定的Linux2.4内核发布日期的临近和IntelIA-64构架的推出,Linux在服务器操作系统市场所占的份额会继续扩大,那 ...

  4. 基于Linux的web的中期报告,基于Linux的Web服务器设计论文中期检查.doc

    附件3: 长沙师范学院 届毕业论文(设计)课题任务书 课题题目基于Linux的Web服务器设计指导教师李列文职 称副教授学生姓名叶润凯系(部)/专业信工系/计应学 号2014541930121课题主要 ...

  5. WEB服务器、应用程序服务器、HTTP服务器区别(基础普及)

    一 常见的WEB服务器和应用服务器 在UNIX和LINUX平台下使用最广泛的免费web服务器是W3C.NCSA和APACHE服务器,而Windows平台NT/2000/2003使用IIS的WEB服务器 ...

  6. Web服务器、应用程序服务器、HTTP服务器区别

    Web服务器.应用程序服务器.HTTP服务器区别 WEB服务器.应用程序服务器.HTTP服务器有何区别?IIS.Apache.Tomcat.Weblogic.WebSphere 都各属于哪种服务器? ...

  7. LVS详解及基于LVS实现web服务器负载均衡

    前言 LVS(Linux Virtual Server)Linux虚拟服务器,是一个虚拟的服务器集群系统.本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一.通过LVS提供的 ...

  8. 基于linuxunix高性能web服务器架构思路分析

    随着21世纪互联网的快速发展以及web2.0的诞生,最初web服务器已经不能满足我们的需求.而现在我们要考虑的不再仅仅是web服务器以及数据库服务器这么简单,我们所需要考虑的就是设计出一套高性能web ...

  9. Executor详细介绍 打造基于Executor的Web服务器

    继续并发,貌似并发的文章很少有人看啊~哈~ 今天准备详细介绍java并发包下的Executor,以及Java提供了很多灵活的且极其方便的线程池的创建. 嗯,那就慢慢说,大家肯定都学过Socket,Ja ...

最新文章

  1. 使用Code First Migrations依据代码更新数据库结构
  2. 【NLP】首个任务型对话系统中生成模块资源库Awesome-TOD-NLG-Survey开源!
  3. img=img%3e128 matlab,Matlab中一般的数值计算和使用
  4. dhclient常用命令
  5. 参会指南丨3分钟带你玩转2020数据技术嘉年华!
  6. LLVM PHI - if else
  7. 一个php请求的执行过程,PHP程序执行的过程原理
  8. MySQL复习值代码知识点(1)
  9. 学习完windows网络编程第一章后做的UDPTest程序
  10. java中Field中的方法,解析Java中的Field类和Method类
  11. 8音度dsp调音教程_8音度汽车调音软件
  12. 遭遇scvhost.exe,qsetup.exe,dsound.dll,hnetcfg.dll,olepro32.dll等1
  13. markdown文档:一个简单标记语言的使用及GitHub实际应用
  14. HFSS学习笔记—12.矩形微带贴片天线
  15. ThreeJS - 动态更换fbx模型的某个子Mesh现有的纹理贴图为指定的纹理贴图
  16. 指数的增长和衰退问题
  17. Qt编写物联网管理平台17-记录清理
  18. 2013夏-一篇杂文
  19. 如何删除本地/远程Git分支
  20. 严版数据结构总结--绪论

热门文章

  1. 单片机复位后为什么要对sp重新赋值_单片机系统抗干扰,软件 VS 硬件哪个重要?...
  2. win10系统计算机如何加密,win10怎么样把电脑文件夹加密
  3. 考研复试C++基础题必会
  4. [转载] $CF290E$ 题解
  5. Spring Framework 反射型文件下载漏洞(CVE-2020-5421)复现
  6. 《三国演义》与“项目管理”——向刘备拜师
  7. android 为支持多语言,常用的iso keystore country code
  8. 十分钟带你打造unity3d第一人称射击
  9. 《关于我学CentOS-7跳进坑里忘记跳出来的那些事》——第一集:装了系统但还没完全装上
  10. LInux下 /bin、/sbin、/usr/sbin、/usr/bin 目录的作用和区别