我在google apps脚本中使用UrlFetchApp来执行get,如下所示:
var optAdvancedArgs = {
"method": "GET",
"headers": {"Cache-Control": "no-cache", "Pragma": "no-cache"},
};
var response = UrlFetchApp.fetch(url, optAdvancedArgs);
尽管我尝试在标头中禁用缓存,但我得到的响应始终是缓存副本。如果我使用相同的URL在我的控制台中执行wget,我会看到收到最新版本。
我的问题是:在执行UrlFetchApp.fetch时,如何真正禁用缓存?我的代码有问题吗?
答案 0 :(得分:9)
我能够通过在我的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有similar problem。但有人opened an issue似乎已关闭。