小智 126
我知道这是一个较旧的问题,但我想为具有相同问题的用户发布答案:
curl -H 'Cache-Control: no-cache' http://www.example.com
Run Code Online (Sandbox Code Playgroud)
此curl命令在其头请求中服务器,以从Web服务器返回非缓存数据.
wis*_*cky 47
-H 'Cache-Control: no-cache'由于远程服务器或其间的任何代理层都可以忽略它,因此无法保证该参数有效.如果它不起作用,您可以通过添加唯一的查询字符串参数以旧式方式执行此操作.通常,服务器/代理会认为它是唯一的URL而不是使用缓存.
curl "http://www.example.com?foo123"
Run Code Online (Sandbox Code Playgroud)
但是,每次都必须使用不同的查询字符串值.否则,服务器/代理将再次匹配缓存.要每次自动生成不同的查询字符串参数,您可以使用date +%s,这将返回自纪元以来的秒数.
curl "http://www.example.com?$(date +%s)"
Run Code Online (Sandbox Code Playgroud)
Aid*_*din 10
既没有帮助我-H 'Pragma: no-cache',也没有-H 'Cache-Control: no-cache'帮助我。在使用“cmd+shift+r”(完全重新加载)的浏览器中,我看到的版本比curl终端中的输出要新。
为了获得完全相同的结果,我转到浏览器 > F12(开发工具)> 网络/请求 > 右键单击请求 >“复制为 cURL”,并获得与浏览器调用等效的 cURL命令。
然后,我将其粘贴到终端中,并开始一一删除参数,直到我发现令人惊讶的是,这--compressed对我的情况产生了影响。(调用 CloudFront AWS)