0

HttpWebRequestコマンドを使用する以外に、Webサイトがオンラインかオフラインかを判断することはできますか?

ウェブサイトの空き状況を確認したいので、Ping方式の使用を提案しないでください。

4

3 に答える 3

1

ヘッダー(ドメイン)にajax呼び出しを送信する必要があります。?の後に乱数を追加します (これは、ページがキャッシュされている場合でもテストするためのものです)。これがjavascriptでの方法です。

function hasInternets() {
    console.log("hasInternets: " + window.location.href.split("?")[0] + "?" + Math.random());
    var s = $.ajax({ 
        type: "HEAD",
        url: window.location.href.split("?")[0] + "?" + Math.random(),
        async: false
    }).status;
        console.log("s: " +s);
    //thx http://www.louisremi.com/2011/04/22/navigator-online-alternative-serverreachable/

    return s >= 200 && s < 300 || s === 304; }

これに関するC#コードを探している場合は、少なくともこのjavascriptメソッドでアイデアが得られます。

于 2012-07-27T09:37:24.773 に答える
0

HttpWebRequestコマンドを使用する以外に、Webサイトがオンラインかオフラインかを判断することはできますか?

いいえ、他の方法はありません。サイトにHTTPリクエストを送信し、返されたステータスコードを確認する必要があります。.NETでは、これは通常WebClientクラスで行われますが、必要に応じて使用することもできますWebRequestHEADまた、帯域幅の浪費を避けるために、動詞を使用できます。このようにして、応答本文を送信しないようにWebサーバーに指示します。これは、200であるかどうかを確認できるステータスコードだけです。

于 2012-07-27T09:29:18.070 に答える
0

オプションは、画像と、起動されるイベントを含むjavascriptimgをロードすることです。

onabort     Loading of an image is interrupted 
onerror     An error occurs when loading an image
onload  An image is finished loading

詳細については http://www.w3schools.com/jsref/dom_obj_image.asp

于 2012-07-27T09:29:23.187 に答える