如何通过API获取缓存时长及Cloudflare缓存最后清除时间戳?
如何获取Cloudflare缓存最后清除的时间及缓存年龄
你可以通过以下几种方法实现需求:
1. 利用Cloudflare审计日志API获取缓存清除记录
Cloudflare会将所有缓存清除操作记录到审计日志中,你可以通过API筛选出成功的缓存清除事件,从中提取操作时间戳:
- 调用审计日志API时,指定
action=purge_cache和status=success参数,就能过滤出所有成功的缓存清除操作;返回结果按时间倒序排列,第一条就是最近的清除记录。 - 示例请求(替换占位符为你的实际信息):
curl -X GET "https://api.cloudflare.com/client/v4/zones/{你的Zone ID}/audit_logs?action=purge_cache&status=success" \ -H "Authorization: Bearer {你的API Token}" \ -H "Content-Type: application/json" - 返回数据里的
created_on字段就是该清除操作的时间戳。
2. 通过响应头查看单个资源的缓存年龄
如果你想知道某个具体缓存资源的存活时长,可以向该资源发送请求,查看响应头中的Age字段:
Age字段的值表示该资源在Cloudflare缓存中已存在的秒数,结合当前时间就能推算出资源被缓存的时间(即上次清除缓存后该资源重新被缓存的时间)。- 示例请求:
curl -I https://你的域名.com/目标资源路径 - 响应中类似
Age: 3600的内容,就代表该缓存已经存在1小时。
3. 本地记录清除时间(最直接的方式)
在调用缓存清除API并收到成功响应时,直接将当前时间记录到本地的数据库、日志文件或其他存储介质中,这种方式无需额外调用Cloudflare API,实现成本最低。
内容的提问来源于stack exchange,提问作者user5853892
相关产品推荐
相关产品推荐

