2012-11-15 35 views
3

我使用UrlFetchApp在谷歌Apps腳本來執行一個get,如下所示:谷歌企業應用套件腳本UrlFetchApp.fetch歸國緩存副本

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

儘管我試圖禁用報頭中的高速緩存,響應我得到的總是一個緩存副本。如果我使用相同的URL在我的控制檯中執行wget,我會看到收到最新版本。

我的問題是:如何在執行UrlFetchApp.fetch時真的禁用緩存?我的代碼有問題嗎?

+0

你想要獲取什麼網址,以及如何確認其緩存副本?這確實很奇怪。 UrlFetch發生在Google數據中心,可能會發生一些有趣的事情,數據源試圖緩存該IP? –

回答

8

我能夠在我的Cache-Control頭使用「最大年齡= 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) 

這聽起來像谷歌應用程序引擎有一個similar problem。有人opened an issue但它似乎已關閉。

相關問題