HttpWebRequestコマンドを使用する以外に、Webサイトがオンラインかオフラインかを判断することはできますか?
ウェブサイトの空き状況を確認したいので、Ping方式の使用を提案しないでください。
HttpWebRequestコマンドを使用する以外に、Webサイトがオンラインかオフラインかを判断することはできますか?
ウェブサイトの空き状況を確認したいので、Ping方式の使用を提案しないでください。
ヘッダー(ドメイン)に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メソッドでアイデアが得られます。
HttpWebRequestコマンドを使用する以外に、Webサイトがオンラインかオフラインかを判断することはできますか?
いいえ、他の方法はありません。サイトにHTTPリクエストを送信し、返されたステータスコードを確認する必要があります。.NETでは、これは通常WebClient
クラスで行われますが、必要に応じて使用することもできますWebRequest
。HEAD
また、帯域幅の浪費を避けるために、動詞を使用できます。このようにして、応答本文を送信しないようにWebサーバーに指示します。これは、200であるかどうかを確認できるステータスコードだけです。
オプションは、画像と、起動されるイベントを含むjavascriptimgをロードすることです。
onabort Loading of an image is interrupted
onerror An error occurs when loading an image
onload An image is finished loading