我有许多API不是由我托管的,所以我无法控制API本身。我想要实现的是检查API是否在线。我已经尝试过几种方式:
发送了空白的HttpWebRequest
HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;
using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
{
if (response.StatusCode == HttpStatusCode.NotFound)
return false;
return true;
}
Ping服务器
但不知何故,我的最终结果还不够准确。它显示离线但当我手动尝试调用API时,似乎没问题。有人有解决方案吗?
答案 0 :(得分:0)
只要服务器可以响应HEAD
请求,第一个选项应该是好的。如果没有,那么应该有一些安全的GET
端点可以替代使用。
对健康检查进行计时也是有意义的,这样如果API服务器不活动,它将不会冻结您的应用程序。
答案 1 :(得分:0)
使用API运行状况检查服务怎么样? 一些可以帮助您的链接:
https://www.getpostman.com/docs/postman/monitors/intro_monitors
https://blog.runscope.com/posts/build-a-health-check-api-for-services-underneath-your-api
https://nordicapis.com/monitor-the-status-of-apis-with-these-4-tools/
https://apigee.com/about/blog/technology/api-health-free-tool-monitoring-apis-public-beta-now
答案 2 :(得分:0)
您可以使用Postman Monitors实现此目的。邮递员可在免费帐户上提供1000次免费监视器运行,并通过电子邮件通知失败。您可以通过指定监视器运行的小时/天/周来将其设置为按计划运行。
您还可以通过Postman API手动触发监视器:https://docs.api.getpostman.com