如何检查 URL 是否由 AMP Cache 提供?

问题描述

我正在使用请求(python):

Mobile User Agent - Mozilla/5.0 (Linux; Android 4.2.2; GT-I9505 Build/JDQ39) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/31.0.1650.59 Mobile Safari/537.36

这是一个 AMP 网址 - https://www.whats-on-netflix.com/news/harry-potter-movies-netflix-2020/amp/

response.header 是:

{‘Date’: ‘Wed,20 Jan 2021 03:20:36 GMT’,‘Content-Type’: ‘text/html; charset=UTF-8’,‘transfer-encoding’: ‘chunked’,‘Connection’: ‘keep-alive’,‘Set-Cookie’: ‘__cfduid=d7e443a8d90cded562959a8767b6aab931611112836; expires=Fri,19-Feb-21 03:20:36 GMT; path=/; domain=.whats-on-netflix.com; HttpOnly; SameSite=Lax; Secure’,‘Last-Modified’: ‘Tue,19 Jan 2021 21:12:03 GMT’,‘Cache-Control’: ‘public,max-age=7776000’,‘Expires’: ‘Tue,20 Apr 2021 03:20:36 GMT’,‘vary’: ‘Accept-Encoding,User-Agent,Accept-Encoding’,‘CF-Cache-Status’: ‘DYNAMIC’,‘cf-request-id’: ’07bf6804390000dca13096e000000001′,‘Expect-CT’: ‘max-age=604800,report-uri=”https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct”‘,‘Report-To’: ‘{“endpoints”:[{“url”:”https:\\/\\/a.nel.cloudflare.com\\/report?s=EBLDIer3oL87%2FzpNM0LSs0%2Fv7p3IdQLyxy%2Fn19V%2B1loHbRRpKrY33jbQPojeGf%2BVE84VzHXtbL%2FseQ3Y9YpX8X4j2qpljJQgz6mVTv%2BeO05BmgVP7xBLEFo%3D”}],”group”:”cf-nel”,”max_age”:604800}’,‘NEL’: ‘{“report_to”:”cf-nel”,‘Strict-Transport-Security’: ‘max-age=0; preload’,‘X-Content-Type-Options’: ‘nosniff’,‘Server’: ‘cloudflare’,‘CF-RAY’: ‘6145a919fbd4dca1-MAA’,‘content-encoding’: ‘gzip’}

这是来自同一网站的非 AMP 网址 - https://www.whats-on-netflix.com/whats-new/

response.header 输出为:

{‘Date’: ‘Wed,20 Jan 2021 03:22:58 GMT’,‘Set-Cookie’: ‘__cfduid=df0951d84755de428221422eb1ac491631611112978; expires=Fri,19-Feb-21 03:22:58 GMT; path=/; domain=.whats-on-netflix.com; HttpOnly; SameSite=Lax; Secure’,19 Jan 2021 16:37:34 GMT’,20 Apr 2021 03:22:58 GMT’,‘cf-request-id’: ’07bf6a2fff0000df538da69000000001′,‘Report-To’: ‘{“endpoints”:[{“url”:”https:\\/\\/a.nel.cloudflare.com\\/report?s=QKFl%2FTQTZvtieurNFr6Krrkc%2BJXUFNPUiMc7ikJQGvUUFgpj%2FQ6SBoxZSiksAcRCXmowGPDJyeLNBDEw%2F4eBOo2pnWYHoF0scayNWXHEHpU0xOi%2Bv1CB0So%3D”}],‘NEL’: ‘{“max_age”:604800,”report_to”:”cf-nel”}’,‘CF-RAY’: ‘6145ac933f36df53-BOM’,‘content-encoding’: ‘gzip’}

它看起来一样,那么我如何区分 URL 是否是从 AMP 缓存提供的?

目标:如果 URL 不是从 AMP Cache 提供的,我会使用请求来强制缓存 URL。 我目前正在使用 LiteSpeed Cache,我使用了类似的方法,通过检查响应标头中是否存在子字符串“'X-LiteSpeed-Cache':'hit'”?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)