在c#中捕获Web浏览器输出

时间:2012-09-30 08:07:34

标签: c#

在控制台应用程序中,我需要捕获输出。有两种情况:

  • 互联网无法显示网页
  • 互联网正在发挥作用。

我正在使用以下代码

using(WebClient client = new WebClient())
{
    string pageData;
    try
    {
        pageData = client.DownloadString("https://google.com");
    }
    catch (HttpListenerException e)
    {
        Console.WriteLine("Exception is" + e);
    }

这里我需要应用一个条件,如果Internet Explorer显示“Internet Explorer无法显示网页”,那么它应该显示没有连接。我需要捕获输出。

1 个答案:

答案 0 :(得分:0)

当Web客户端因任何原因无法下载页面时,您需要捕获WebException。试试这个:

public static bool IsAlive(string url)
{
    bool isAlive = false;
    using (WebClient client = new WebClient())
    {
        try
        {
            var content = client.DownloadString(url);
            // if we got this far there was no error fetching the content
            isAlive = true;
        }
        catch (WebException ex)
        {
            // could not fetch page - can output reason here if required
            Console.WriteLine("Error when fetching {0}: {1}", url, ex);
        }

    }

    return isAlive;
}

有关详细信息,请参阅MSDN上的WebClient文档。