XMLHttpRequestでサーバーの生存確認をしたい、しかしDDNSで失敗してしまう。

投稿者: Anonymous

あるサーバーがよく落ちるので、chrome拡張アプリで死活監視プログラムを書いてみました。
死活の判断はステータスコードが200でresponseURLがopenにセットしたのと同じ場合に生存と判断をして、それ以外は死亡としました。
これで一応動いたのですが、サーバーがDDNSから接続先が見つからないとDDNSの管理する警告画面に飛ばされます。
その時の違いは画像の通りで、ステータスコードが200でresponseURLは同じでした。
本来はDDNSの不具合でサーバーにつながらないので死亡中と判断をしたいのですが、ステータスコードとURLが同じなので生存と判断してしまっています。

ここで質問なのですが、DDNSにつながってしまった時死亡と判断するにはどうしたらよいでしょうか?
HTMLの中身が違うのでその差を比較するしか無いのでしょうか?
(例えばタイトルを抜き出して比較する等)

github masakinihirota/GreenHeartRedCross_trial chrome拡張アプリの公開先

responseとresponseTextだけが違う。

DDNSの警告画面に接続された時のXMLHttpRequestのデータ

サーバーに接続した時のXMLHttpRequestのデータ

解決

汎用的にしたいのであれば難しいけど、とりあえずそこを対処するためには内容で比較するくらいしか無いでしょうね。
もしくは存在するパスに投げてみたときに、トップにリダイレクトされるのであればそれで判断するとか。

回答者: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *