2

从 C# 控制台应用程序中,我需要打开 Web 浏览器并且我想要输出。这是链接中的服务器名称。如果 Internet Explorer 没有显示任何内容,则表示服务器已启动。如果我让 Internet Explorer 无法显示该网页,则表示服务器已关闭。

下面是打开IE的代码

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

如果 Internet Explorer 显示一个空页面,则服务器已启动,否则服务器已关闭。

想知道浏览器是如何自动关闭的?

4

2 回答 2

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?
}
于 2012-09-28T14:30:51.373 回答
0
  1. 如果你只是需要获取一个网页的值,你应该使用更轻量级的东西,例如HttpClient(http://pfelix.wordpress.com/2012/01/11/the-new-net-httpclient-class /)。这样您就不必担心清理 Internet Explorer 等外部进程。

  2. 如果您坚持为此使用 IE,Process.Start(string) 将返回 System.Diagnostics.Process 的实例,因此您可以调用.Close()该返回的实例。

.

var ieProcess = Process.Start("https://foo.com");
bool isServerUp = IsServerUp(ieProcess); 
ieProcess.Close(); 
于 2012-09-28T14:33:57.303 回答