基于C#的WEB服务器运行状态监测程序
每天监测网站是否正常运行,之前是一个一个打开,现在写一个程序来监测。
步骤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服务器运行状态监测程序相关推荐
- Web服务器和应用程序服务器有什么区别
Web服务器和应用程序服务器有什么区别 [ 来源:javaworld.com | 作者:佚名 | 时间:2006-10-12 14:08:30 | 浏览:人次 ] 问:什么是应用程序服务器,什么是We ...
- WEB服务器、应用程序服务器、HTTP服务器的区别
WEB服务器.应用程序服务器.HTTP服务器的区别 Web服务器: 基本功能就是提供Web信息浏览服务.它只需支持HTTP协议.HTML文档格式及URL.与客户端的网络浏览器配合.因为Web服务器主要 ...
- linux对web后端重要吗,基于Linux的Web服务器性能测试
摘要:Linux作为一种免费的开源操作系统,正越来越受到人们的重视.随着稳定的Linux2.4内核发布日期的临近和IntelIA-64构架的推出,Linux在服务器操作系统市场所占的份额会继续扩大,那 ...
- 基于Linux的web的中期报告,基于Linux的Web服务器设计论文中期检查.doc
附件3: 长沙师范学院 届毕业论文(设计)课题任务书 课题题目基于Linux的Web服务器设计指导教师李列文职 称副教授学生姓名叶润凯系(部)/专业信工系/计应学 号2014541930121课题主要 ...
- WEB服务器、应用程序服务器、HTTP服务器区别(基础普及)
一 常见的WEB服务器和应用服务器 在UNIX和LINUX平台下使用最广泛的免费web服务器是W3C.NCSA和APACHE服务器,而Windows平台NT/2000/2003使用IIS的WEB服务器 ...
- Web服务器、应用程序服务器、HTTP服务器区别
Web服务器.应用程序服务器.HTTP服务器区别 WEB服务器.应用程序服务器.HTTP服务器有何区别?IIS.Apache.Tomcat.Weblogic.WebSphere 都各属于哪种服务器? ...
- LVS详解及基于LVS实现web服务器负载均衡
前言 LVS(Linux Virtual Server)Linux虚拟服务器,是一个虚拟的服务器集群系统.本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一.通过LVS提供的 ...
- 基于linuxunix高性能web服务器架构思路分析
随着21世纪互联网的快速发展以及web2.0的诞生,最初web服务器已经不能满足我们的需求.而现在我们要考虑的不再仅仅是web服务器以及数据库服务器这么简单,我们所需要考虑的就是设计出一套高性能web ...
- Executor详细介绍 打造基于Executor的Web服务器
继续并发,貌似并发的文章很少有人看啊~哈~ 今天准备详细介绍java并发包下的Executor,以及Java提供了很多灵活的且极其方便的线程池的创建. 嗯,那就慢慢说,大家肯定都学过Socket,Ja ...
最新文章
- 使用Code First Migrations依据代码更新数据库结构
- 【NLP】首个任务型对话系统中生成模块资源库Awesome-TOD-NLG-Survey开源!
- img=img%3e128 matlab,Matlab中一般的数值计算和使用
- dhclient常用命令
- 参会指南丨3分钟带你玩转2020数据技术嘉年华!
- LLVM PHI - if else
- 一个php请求的执行过程,PHP程序执行的过程原理
- MySQL复习值代码知识点(1)
- 学习完windows网络编程第一章后做的UDPTest程序
- java中Field中的方法,解析Java中的Field类和Method类
- 8音度dsp调音教程_8音度汽车调音软件
- 遭遇scvhost.exe,qsetup.exe,dsound.dll,hnetcfg.dll,olepro32.dll等1
- markdown文档:一个简单标记语言的使用及GitHub实际应用
- HFSS学习笔记—12.矩形微带贴片天线
- ThreeJS - 动态更换fbx模型的某个子Mesh现有的纹理贴图为指定的纹理贴图
- 指数的增长和衰退问题
- Qt编写物联网管理平台17-记录清理
- 2013夏-一篇杂文
- 如何删除本地/远程Git分支
- 严版数据结构总结--绪论
热门文章
- 单片机复位后为什么要对sp重新赋值_单片机系统抗干扰,软件 VS 硬件哪个重要?...
- win10系统计算机如何加密,win10怎么样把电脑文件夹加密
- 考研复试C++基础题必会
- [转载] $CF290E$ 题解
- Spring Framework 反射型文件下载漏洞(CVE-2020-5421)复现
- 《三国演义》与“项目管理”——向刘备拜师
- android 为支持多语言,常用的iso keystore country code
- 十分钟带你打造unity3d第一人称射击
- 《关于我学CentOS-7跳进坑里忘记跳出来的那些事》——第一集:装了系统但还没完全装上
- LInux下 /bin、/sbin、/usr/sbin、/usr/bin 目录的作用和区别