1

イントラネット リンクを追加する Web ページを作成したいと考えています。追加したリンクが機能しているかどうかを確認する方法を知りたかっただけです。リンクが機能しない場合は赤でマークし、それ以外の場合は緑にする必要があります。

4

4 に答える 4

3

軽量のプログラムによるチェックが必要な場合は、HTTP HEAD リクエストを実行して、200 以上で 400 未満の応答コードをチェックできます。

于 2009-10-02T05:17:58.137 に答える
0

サーバー側をチェックしたい場合(phpの例):

<?php

function isup($url) 
{
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_HEADER, true);
    curl_setopt($ch, CURLOPT_NOBODY, true);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
    if(curl_exec($ch)) {
        $httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE); 
        return ($httpcode < 400);
    }

    return false;
}

$url = "http://example.com/404";

printf('<a href="%s" class="%s">Link</a>', $url, isup($url) ? 'good' : 'bad');
于 2009-10-02T06:23:03.140 に答える
0

クライアント側を確認したい場合...

<style type="text/css">
.good {
   color:green;
}

.bad {
   color:red;
}
</style>

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js"></script>

<script type="text/javascript">
    $(document).ready(function(){
        $("a.checkLinks").each(checkme);
    })

    // load page from URL with ajax
    function checkme(i, item) {
        $.ajax({
            type: "GET",
            url: item.href,
            success: function(data, textStatus) {
                $(item).addClass("good");
            },
            error: function(request) {
                $(item).addClass("bad");
            }
          });
    }
</script>

<a class="checkLinks" href="good.html">Good</a><br/>
<a class="checkLinks" href="bad.html">Bad</a>
于 2009-10-02T05:43:44.513 に答える
-2

リンクの反対側で何かをpingします。インターフェイスのステータスやルーティング テーブル、その他のさまざまなことを確認する方法をおそらく見つけることができますが、本当に知りたいのは、トラフィックがその宛先との間で流れているかどうかです。

UNIX では、引数を使用pingして-c多数のパケットを送信し-w、待機時間を秒単位で指定できます。次に、終了ステータスを確認します。

ping -c 3 -w 5 remote-host

パケットがドロップされた場合、ping はゼロ以外の終了コードで終了します。

于 2009-10-02T05:18:01.820 に答える