如何从 JavaScript 获取 HTTP 状态

发布于 2024-09-10 22:39:05 字数 42 浏览 3 评论 0原文

如何使用 JavaScript 获取另一个站点的 HTTP 状态代码?

How to get HTTP status code of another site with JavaScript?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

靑春怀旧 2024-09-17 22:39:05

尝试以下 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);

Try the following piece of javascript code:

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);
居里长安 2024-09-17 22:39:05

您必须使用 XMLHTTPRequest 来获取 HTTP 状态代码。
这可以通过向服务器发出 HEAD 请求来获取所需的 url 来完成。
创建一个 XMLHTTPRequest 对象 - xhr,并执行以下操作。

 xhr.open("HEAD", <url>,true);
 xhr.onreadystatechange=function() {
     alert("HTTP Status Code:"+xhr.status)
 }
 xhr.send(null);

请参阅此处了解更多详细信息。

You will have to use XMLHTTPRequest for getting the HTTP status code.
This can be done by making a HEAD request to the server for the required url.
Create an XMLHTTPRequest object - xhr, and do the following

 xhr.open("HEAD", <url>,true);
 xhr.onreadystatechange=function() {
     alert("HTTP Status Code:"+xhr.status)
 }
 xhr.send(null);

See here for more details.

灼痛 2024-09-17 22:39:05

由于同源策略,您无法直接使用 AJAX 执行此操作。

您必须在服务器上设置代理服务,然后使用您要检查的地址对该代理服务进行 ajax 调用。从服务器代理中,您可以使用 cURL 或任何您喜欢的工具来检查状态代码并将其返回给客户端。

You can't do this with AJAX directly because of the same origin policy.

You'd have to set up a proxy service on your server then make ajax calls to that with the address you want to check. From your server proxy you can use cURL or whatver tool you like to check the status code and return it to the client.

情栀口红 2024-09-17 22:39:05

我假设 JavaScript 和 JQuery 可以大大简化 AJAX 请求,就像这样。

$.ajax({
  url: 'url',
  type: 'GET',
  complete: function(transport) {
      doing whatever..
  }
});

I assume JavaScript, with JQuery, which simplifies AJAX requests alot, like this.

$.ajax({
  url: 'url',
  type: 'GET',
  complete: function(transport) {
      doing whatever..
  }
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文