[英]Programmatically check for IIS7 splash screen
我有一個ASP.Net 3.5 Web應用程序(C#),我需要以編程方式檢查我們的另一個站點(不是ASP.Net)是否啟動並運行。 目前,我有一個方法,使用以下代碼檢查StatusCode為200.我遇到的問題是,出現的IIS7啟動頁面返回狀態代碼200,我沒有看到任何其他內容響應對象,允許我驗證我們期望實際顯示的頁面。 我想避免得到回復並使用StreamReader只是在頁面上查找div以驗證它是否有效(如果可能),因為它們(類似地)在此鏈接中。
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(urlToCheck);
request.AllowAutoRedirect = true;
HttpWebResponse response;
try
{
response = (HttpWebResponse)request.GetResponse();
if (response.StatusCode == HttpStatusCode.OK)
{
return true;
}
return false;
}
catch (Exception)
{
return false;
}
任何幫助是極大的贊賞。
只需閱讀它已存在的Response
並等待!
Stream s = response.GetResponseStream();
StreamReader r = new StreamReader(s);
string html = r.ReadToEnd();
// IIS7
if(html.Contains(@"<div id=""container"">
<a href=""http://go.microsoft.com/fwlink/?linkid=66138&clcid=0x409""><img src=""welcome.png"" alt=""IIS7"" width=""571"" height=""411""></a>
</div>") {
}
調查其他應用程序返回的標頭。 與IIS啟動畫面相比,它最有可能會有一些額外的標題。 例如,它可能指定Cache-Control
。 如果您的回復沒有該標題,則可以認為它是啟動畫面。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.