4

我在谷歌应用程序脚本中使用 UrlFetchApp 来执行获取,如下所示:

var optAdvancedArgs = {
    "method": "GET",
    "headers": {"Cache-Control": "no-cache", "Pragma": "no-cache"}, 
};
var response = UrlFetchApp.fetch(url, optAdvancedArgs);

尽管我尝试禁用标头中的缓存,但我得到的响应始终是缓存副本。如果我在控制台中使用相同的 url 执行 wget,我会看到收到最新版本。

我的问题是:执行 UrlFetchApp.fetch 时如何才能真正禁用缓存?我的代码有问题吗?

4

1 回答 1

10

我能够通过在我的 Cache-Control 标头中使用“max-age=0”来克服这个问题,例如:

var url = "http://www.stackoverflow.com";
var options =
  {
    // Ensure we get a fresh copy of the site every time.
    headers : {'Cache-Control' : 'max-age=0'}
  };
var response = UrlFetchApp.fetch(url, options)

听起来 Google App Engine 也有类似的问题。有人打开了一个问题,但它似乎已关闭。

于 2012-11-18T02:36:55.130 回答