除了使用HttpWebRequest命令之外,是否可以确定网站是在线还是离线?
请不建议我使用 Ping方法,因为我想查看网站的可用性。
答案 0 :(得分: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方法会给你一个想法。
答案 1 :(得分:0)
是否可以确定网站是在线还是离线其他 比使用HttpWebRequest命令?
不,没有别的办法。您需要向站点发送HTTP请求并检查返回的状态代码。在.NET中,这通常使用WebClient
类完成,但如果您愿意,也可以使用WebRequest
。为避免浪费带宽,您可以使用HEAD
动词。这样您就可以指示Web服务器不发送响应正文,只是一个您可以检查为200的状态代码。
答案 2 :(得分:0)
一个选项是加载图片,javascript img包含被解雇的事件
onabort Loading of an image is interrupted
onerror An error occurs when loading an image
onload An image is finished loading