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

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

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

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

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

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

運行結果如下:

這里寫圖片描述


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 连平县| 侯马市| 台东市| 旬阳县| 上栗县| 上栗县| 驻马店市| 志丹县| 清丰县| 黑河市| 法库县| 昌黎县| 布尔津县| 吴川市| 康保县| 郧西县| 兴宁市| 普洱| 无锡市| 上杭县| 建德市| 嘉祥县| 柳江县| 康乐县| 鸡西市| 陈巴尔虎旗| 南平市| 北流市| 南昌县| 望都县| 平南县| 三河市| 泌阳县| 江华| 新安县| 藁城市| 新平| 平利县| 潍坊市| 固始县| 章丘市|