cURL拒绝忽略缓存

时间:2013-12-17 08:15:31

标签: php cakephp caching curl cakephp-2.3

我在CakePHP 3.8实例中使用cURL来获取数据。但是cURL总是得到较旧的(缓存?)版本的数据。

$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 );

我正在设置timestamp-param

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

但我仍然得到缓存的数据。 我也清除了Cake的所有缓存,但这不起作用......任何人都有想法?

2 个答案:

答案 0 :(得分:1)

我假设网站正在控制缓存本身。因此,请阻止网站使用带有curl的HTTP标头向您发送缓存数据。

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

答案 1 :(得分:0)

CURLOPT_COOKIEFILE和CURLOPT_COOKIEJAR行有一些错误。你使用$ curl而不是$ ch。