我想创建一个网页,在其中添加一些 Intranet 链接。我只是想知道如何检查我添加的链接是否正在工作。如果链接不起作用,我想用红色标记链接,否则它应该是绿色的。
Shannid1987
问问题
320 次
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
with-c
参数来发送多个数据包,并-w
以秒为单位指定等待时间。然后检查退出状态:
ping -c 3 -w 5 remote-host
如果数据包被丢弃,ping 将以非零退出代码退出。
于 2009-10-02T05:18:01.820 回答