有没有办法告诉curl命令不要使用服务器端缓存?例如; 我有这个curl命令:
curl -v www.example.com
如何要求curl发送新请求以不使用缓存?
注意:我正在终端中寻找可执行命令。
有没有办法告诉curl命令不要使用服务器端缓存?例如; 我有这个curl命令:
curl -v www.example.com
如何要求curl发送新请求以不使用缓存?
注意:我正在终端中寻找可执行命令。
memcache
http://www.example.com/?caching=off
您还可以发送自定义标头:stackoverflow.com/questions/356705 / ...但是,当然,您的服务器端应用程序必须了解这些命令并通过以下操作对其进行操作关闭缓存。如果有人可以禁用远程站点的缓存机制,那将是一个巨大的安全漏洞
Answers:
我知道这是一个较旧的问题,但是我想为有相同问题的用户发布答案:
curl -H 'Cache-Control: no-cache' http://www.example.com
该curl命令服务器在其头请求中要求从Web服务器返回未缓存的数据。
no-cache
请求。
-H 'Cache-Control: no-cache'
由于远程服务器或介于两者之间的任何代理层都可以忽略该参数,因此不能保证该参数有效。如果它不起作用,则可以通过添加唯一的querystring参数,以老式方式进行。通常,服务器/代理会认为这是唯一的URL,而不使用缓存。
curl "http://www.example.com?foo123"
但是,您每次都必须使用不同的querystring值。否则,服务器/代理将再次匹配缓存。要每次自动生成一个不同的querystring参数,您可以使用date +%s
,它将返回自epoch以来的秒数。
curl "http://www.example.com?$(date +%s)"