REST API运行状况检查

时间:2017-10-12 03:14:07

标签: c# rest

我有许多API不是由我托管的,所以我无法控制API本身。我想要实现的是检查API是否在线。我已经尝试过几种方式:

  1. 使用HEAD方法
  2. 向API端点发送HTTP请求
  3. 发送了空白的HttpWebRequest

    HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;
    using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
    {
        if (response.StatusCode == HttpStatusCode.NotFound)
            return false;
    
        return true;
    }
    
  4. Ping服务器

  5. 但不知何故,我的最终结果还不够准确。它显示离线但当我手动尝试调用API时,似乎没问题。有人有解决方案吗?

3 个答案:

答案 0 :(得分:0)

只要服务器可以响应HEAD请求,第一个选项应该是好的。如果没有,那么应该有一些安全的GET端点可以替代使用。

对健康检查进行计时也是有意义的,这样如果API服务器不活动,它将不会冻结您的应用程序。

答案 1 :(得分:0)

答案 2 :(得分:0)

您可以使用Postman Monitors实现此目的。邮递员可在免费帐户上提供1000次免费监视器运行,并通过电子邮件通知失败。您可以通过指定监视器运行的小时/天/周来将其设置为按计划运行。

  1. 只需创建一个邮递员收藏集:https://learning.getpostman.com/docs/postman/collections/creating_collections/
  2. 在集合中添加HTTP运行状况检查请求。
  3. 在集合上创建监视器:https://learning.getpostman.com/docs/postman/monitors/setting_up_monitor/
  4. 并设置其运行频率。

您还可以通过Postman API手动触发监视器:https://docs.api.getpostman.com