2012-09-28 84 views
2

從C#控制檯應用程序我需要打開Web瀏覽器,我想輸出。這是鏈接中的服務器名稱。如果Internet Explorer不顯示任何內容,則表示服務器已啓動。如果我得到Internet Explorer無法顯示網頁,那麼它意味着服務器已關閉。在C#中打開Web瀏覽器並捕獲輸出

下面是打開IE

Process.Start("https://foo.com"); 

代碼如果Internet Explorer顯示空白頁,然後服務器啓動其他服務器停機。

想知道瀏覽器是如何自動關閉的?

+1

爲什麼Internet Explorer? – elyashiv

+1

這就像從倫敦經悉尼前往巴黎。有更好的方法... – spender

+2

考慮一下System.Net.WebClient。 –

回答

6
using(WebClient client = new WebClient()) 
{ 
    string pageData; 
    try 
    { 
     pageData = client.DownloadString(yourAddress); 
    } 
    catch(Exception e) 
    { 
     //something went wrong. Maybe the site is down? 
    } 
    //does pageData have expected content? 
} 
+0

我試圖做到這一點,但控制檯應用程序正在關閉,它沒有顯示任何異常 – Sohail

+0

我期待我的結果只有兩種方式,1)如果服務器已啓動,則不顯示任何內容2)如果服務器關閉,則表明Internet Explorer無法顯示頁面 – Sohail

0
  1. 如果你只需要得到一個網頁的價值,你應該使用一些更輕巧,例如,HttpClient的(http://pfelix.wordpress.com/2012/01/11 /在新淨的HttpClient類/)。這樣您就不必擔心清理Internet Explorer等外部進程。

  2. 如果您堅持使用IE,Process.Start(string)會返回System.Diagnostics.Process的一個實例,因此您可以在返回的實例上調用.Close()

var ieProcess = Process.Start("https://foo.com"); 
bool isServerUp = IsServerUp(ieProcess); 
ieProcess.Close(); 
+0

IsServerUp不是一個正確的方法 – Sohail

+0

對,它是僞代碼來表示您正在嘗試執行的任何操作。 –