微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

API GET 请求未反映数据库中的更改,延迟了 5 分钟

如何解决API GET 请求未反映数据库中的更改,延迟了 5 分钟

我正在尝试制作一个网络应用程序,当新的疫苗插槽到达政府门户网站时,它会使用提供的公共 API 进行通知

我需要的是每分钟调用一次 API 并检查插槽是否已添加数据库中。但是我得到的响应是陈旧的,因为我的应用程序(也在 Chrome 中)检测到的新会话大约有 5 分钟,我知道这是因为一些电报频道显示更新比我的应用程序早。

此外,当我尝试使用 Postman 访问相同的 API 时,我得到的响应是新鲜的。

问题是 - Chorme/myApp 响应未反映更新的数据库...但邮递员显示更新的数据库... chrome 在邮递员显示后 5 分钟收到更新的响应。

公共 API:https://cdn-api.co-vin.in/api/v2/appointment/sessions/public/calendarByDistrict?district_id=141&date=06-07-2021

let response = await fetch(`https://cdn-api.co-vin.in/api/v2/appointment/sessions/public/calendarBydistrict?district_id=${id}&date=${today}`,{
            method: 'GET',headers: {
                'Content-Type': 'application/json','Connection': 'keep-alive',},})

我是否需要更改获取请求中的某些标头或其他任何内容?...或其他任何内容???

帮助,我修复它...

解决方法

所以有几件事。
首先,使用 Find by District API 而不是 Calendar by District API。这样更准确。
https://cdn-api.co-vin.in/api/v2/appointment/sessions/public/findByDistrict?district_id=512&date=31-03-2021
其次,通过用户代理。这是用 PHP 编写的,但您可以随时更新为其他语言。

    $header     = array(
                    "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8","Pragma: no-cache","Cache-Control: no-cache","Accept-Language: en-us","User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/605.1.15 (KHTML,like Gecko) Version/13.1.1 Safari/605.1.15","Upgrade-Insecure-Requests: 1"
                    );

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。