我正在尝试制作一个网络应用程序,当新的疫苗槽到达政府门户网站时,使用提供的公共 API 发出通知。
我需要的是每分钟调用一次API并检查插槽是否已添加到数据库中。但我得到的响应是陈旧的,因为我的应用程序(也在 Chrome 中)检测到的新会话大约有 5 分钟旧,我知道这一点是因为一些电报频道比我的应用程序更早显示更新。
此外,当我尝试使用 Postman 使用相同的 API 时,我得到的响应是新鲜的。
问题是 - Chorme/myApp 响应未反映更新的数据库...但 postman 正在显示更新的数据库...chrome 在 Postman 中显示后 5 分钟即可获取更新的响应。
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',
},
})
我需要更改获取请求中的一些标头或其他内容吗?...或其他内容?
帮帮忙,我修一下...
有几件事。
首先,使用按地区查找 API 而不是按地区日历 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"
);