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 は Web ページを表示できません」と表示している場合、接続が表示されないという条件を適用する必要があります。出力をキャプチャする必要があります。

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 に答える