2

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

  • 互联网无法显示网页
  • 互联网正在运行。

我正在使用下面的代码

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 无法显示网页”,那么它应该显示没有连接。我需要捕获输出。

4

1 回答 1

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文档。

于 2012-09-30T10:44:53.367 回答