You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CoWIN公共API在Postman、终端返回403但浏览器可正常访问如何解决

问题产生原因

这个问题本质是服务端的反爬虫拦截机制导致的,具体触发原因如下:

  • 服务端会校验请求头的User-Agent字段,Postman、curl、wget等工具默认发送的UA带有工具自身标识,和浏览器的UA规则不符,被服务端识别为非合法浏览器请求后直接返回403
  • 部分反爬规则还会校验Referer、Origin字段,要求请求来源为CoWin官方域名,工具默认请求不会携带这些来源标识,也会触发拦截
  • 浏览器发起请求时会自动携带Accept、Accept-Language等标准请求头,工具默认发送的请求头字段不全,也可能触发校验拦截

可行解决方案

方案1:直接复用浏览器的请求配置

这是最快捷的验证方案:

  1. 在Chrome中正常访问接口成功后,按F12打开开发者工具,切换到「网络」面板,找到对应接口的请求记录
  2. 右键该请求记录,选择「复制 - 复制为cURL(bash)」
  3. 把复制的内容直接粘贴到终端执行,即可正常拿到返回结果;如果需要适配到Postman或者代码中,只需要把复制的curl命令对应的请求头全部迁移过去即可

方案2:手动配置模拟浏览器的请求头

核心需要在请求中添加以下请求头即可绕过基础校验:

  • User-Agent:和你本地Chrome浏览器的UA保持完全一致,可以在Chrome地址栏输入chrome://version查看
  • Referer:固定设置为https://www.cowin.gov.in/
  • Accept:设置为application/json, text/plain, */*

附Python requests调用示例:

import requests

headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36",
    "Referer": "https://www.cowin.gov.in/",
    "Accept": "application/json, text/plain, */*"
}
url = "https://cdn-api.co-vin.in/api/v2/appointment/sessions/public/calendarByDistrict?district_id=512&date=06-05-2021"
resp = requests.get(url, headers=headers)
print(resp.json())

注意事项

该接口为公共服务接口,存在请求频率限制,不要高频发起请求,否则会触发IP封禁限制。


内容的提问来源于stack exchange,提问作者Arpan Nagar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.21 22:36:09