国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

基于C#的WEB服務器運行狀態監測程序

2019-11-09 19:08:05
字體:
來源:轉載
供稿:網友

每天監測網站是否正常運行,之前是一個一個打開,現在寫一個程序來監測。

步驟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 "程序已終止"; }

運行結果如下:

這里寫圖片描述


上一篇:MD5

下一篇:MyBatis學習筆記(六)動態sql

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 安吉县| 衡阳县| 颍上县| 大丰市| 县级市| 小金县| 漯河市| 那曲县| 留坝县| 黔东| 厦门市| 潼南县| 财经| 策勒县| 深州市| 开原市| 朔州市| 锦州市| 伊宁市| 许昌县| 沁水县| 公安县| 西和县| 巩义市| 神池县| 城固县| 海原县| 汤原县| 平安县| 饶平县| 西峡县| 滨州市| 两当县| 彭州市| 福建省| 贡觉县| 竹北市| 开江县| 清远市| 信阳市| 绥滨县|