如何使用JavaScript获取其他网站的HTTP状态代码?
答案 0 :(得分:7)
尝试以下javascript代码:
function getReq() {
var req = false;
if(window.XMLHttpRequest) {
try {
req = new XMLHttpRequest();
} catch(e) {
req = false;
}
} else if(window.ActiveXObject) {
try {
req = new ActiveXObject("Microsoft.XMLHTTP");
} catch(e) {
req = false;
}
}
if (! req) {
alert("Your browser does not support XMLHttpRequest.");
}
return req;
}
var req = getReq();
try {
req.open("GET", 'http://www.example.com', false);
req.send("");
} catch (e) {
success = false;
error_msg = "Error: " + e;
}
alert(req.status);
答案 1 :(得分:4)
您必须使用XMLHTTPRequest获取HTTP状态代码。 这可以通过向服务器发出针对所需URL的HEAD请求来完成。 创建XMLHTTPRequest对象 - xhr,并执行以下操作
xhr.open("HEAD", <url>,true);
xhr.onreadystatechange=function() {
alert("HTTP Status Code:"+xhr.status)
}
xhr.send(null);
有关详细信息,请参阅here。
答案 2 :(得分:2)
由于源策略相同,您无法直接使用AJAX执行此操作。
您必须在服务器上设置代理服务,然后使用您要检查的地址对其进行ajax调用。从您的服务器代理,您可以使用cURL或您喜欢的任何工具来检查状态代码并将其返回给客户端。
答案 3 :(得分:0)
我假设JavaScript,使用JQuery,它简化了AJAX请求,就像这样。
$.ajax({
url: 'url',
type: 'GET',
complete: function(transport) {
doing whatever..
}
});