cURL weigert sich, den Cache zu ignorieren

Ich verwende CURL in meiner CakePHP 3.8-Instanz, um Daten zu erhalten. Aber cURL erhält immer die ältere (zwischengespeicherte?) Version der Daten.

$ch = curl_init( $url );
curl_setopt( $ch, CURLOPT_FRESH_CONNECT, 1 );
curl_setopt( $ch, CURLOPT_FORBID_REUSE, 1 );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt( $ch, CURLOPT_COOKIEFILE, $cookiefile);
curl_setopt( $ch, CURLOPT_COOKIEJAR, $cookiefile); 
$url_content = curl_exec( $ch );
$url_info = curl_getinfo( $ch );
curl_close( $ch );

Ich stellte einen Zeitstempel-Parameter ein

$url.'&t='.time();

aber ich bekomme immer noch die zwischengespeicherten Daten. Ich habe auch alle Caches von Cake befreit, aber das hat nicht funktioniert ... hat irgendjemand eine Idee?

0
hm, dann plz sag mir einfach, warum cURL andere Daten zurückgibt, als wenn man die URL direkt im Browser aufruft ...
hinzugefügt der Autor user2641845, Quelle
Es ist ein Dienst, der JSON zurückgibt. Es gibt kein JS, keine Cookies ... alle vom selben User-Agent ...
hinzugefügt der Autor user2641845, Quelle
curl speichert Inhalte nicht - je
hinzugefügt der Autor Daniel Stenberg, Quelle
Das kann viele Gründe haben, vom User-Agent über Cookies bis hin zu Javascript. Das müssen Sie herausfinden, denke ich.
hinzugefügt der Autor Daniel Stenberg, Quelle

2 Antworten

Ich gehe davon aus, dass die Seite den Cache selbst kontrolliert. Verhindern Sie daher, dass die Site Ihnen zwischengespeicherte Daten sendet, indem Sie den HTTP-Header mit dem Curl verwenden.

$header = array("Cache-Control: no-cache");
// $header = array("Cache-Control: max-age=0");
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
0
hinzugefügt

In den Zeilen CURLOPT_COOKFILE und CURLOPT_COOKIEJAR sind einige Fehler aufgetreten. Sie haben $ curl anstelle von $ ch verwendet.

0
hinzugefügt
Doh, nur ein Copy-Paste-Fehler ...
hinzugefügt der Autor user2641845, Quelle
PHP - Deutsche Gemeinschaft
PHP - Deutsche Gemeinschaft
5 der Teilnehmer

In dieser Gruppe sprechen wir über PHP. Partner: de.switch-case.com