【发布时间】:2013-12-17 08:15:31
【问题描述】:
我在我的 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 );
我正在设置时间戳参数
$url.'&t='.time();
但我仍然得到缓存的数据。 我还清除了 Cake 的所有缓存,但这没有用……有人有想法吗?
【问题讨论】:
-
curl 不会缓存内容 - 永远
-
hm,那么请告诉我,为什么cURL返回的数据与直接在浏览器中调用url不同......
-
这可能有很多原因,从用户代理到 cookie 再到 javascript。我猜这就是你需要弄清楚的。
-
它是一个服务,它返回 JSON。没有 JS,没有 Cookie……都来自同一个用户代理……
标签: php cakephp caching curl cakephp-2.3