Gibt es eine Möglichkeit, den Befehl curl anzuweisen, den serverseitigen Cache nicht zu verwenden? z.B; Ich habe diesen Curl-Befehl:
curl -v www.example.com
Wie kann ich curl bitten, eine neue Anfrage zu senden, um den Cache nicht zu verwenden?
Hinweis : Ich suche nach einem ausführbaren Befehl im Terminal.
memcache
http://www.example.com/?caching=off
senden. Sagen Sie , Sie könnten auch einen benutzerdefinierten Header senden: stackoverflow.com/questions/356705/… Aber natürlich muss Ihre serverseitige Anwendung diese Befehle verstehen und darauf reagieren Caching ausschalten. Wenn jemand die Caching-Mechanismen eines Remote-Standorts deaktivieren könnte, wäre dies eine klaffende SicherheitslückeAntworten:
Ich weiß, dass dies eine ältere Frage ist, aber ich wollte eine Antwort für Benutzer mit derselben Frage veröffentlichen:
curl -H 'Cache-Control: no-cache' http://www.example.com
Dieser Curl-Befehlsserver fordert in seiner Header-Anforderung an, nicht zwischengespeicherte Daten vom Webserver zurückzugeben.
quelle
no-cache
Anforderung ignorieren .Es
-H 'Cache-Control: no-cache'
wird nicht garantiert, dass das Argument funktioniert, da der Remote-Server oder alle dazwischen liegenden Proxy-Schichten es ignorieren können. Wenn es nicht funktioniert, können Sie es auf die altmodische Weise tun, indem Sie einen eindeutigen Querystring-Parameter hinzufügen. Normalerweise denken die Server / Proxys, dass es sich um eine eindeutige URL handelt, und verwenden den Cache nicht.curl "http://www.example.com?foo123"
Sie müssen jedoch jedes Mal einen anderen Querystring-Wert verwenden. Andernfalls stimmen die Server / Proxys wieder mit dem Cache überein. Um jedes Mal automatisch einen anderen Querystring-Parameter zu generieren, können Sie verwenden
date +%s
, der die Sekunden seit der Epoche zurückgibt .curl "http://www.example.com?$(date +%s)"
quelle