setValue(contLength)返回意外值

时间:2012-09-19 13:57:29

标签: http-headers google-apps-script urlfetch

这是完整的脚本。

function check() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet1 = ss.getSheets()[0];
  var dataRange = sheet1.getDataRange().getValues();
      for (var i = 1; i < dataRange.length; i++) {
        var stringToDisplay=dataRange[i][0];
        var result = UrlFetchApp.fetch(stringToDisplay);
        var date=result.getHeaders()['Date'];
        var contType=result.getHeaders()['Content-Type'];
        var contLength=result.getHeaders()['Content-Length'];
        for(j=0;j<10;j++)
        {
          if(contLength=="undefined")
          {
            var contLength=result.getHeaders()['Content-Length'];
          }
        }
        var server=result.getHeaders()['Server'];
        var exp=result.getHeaders()['Expires'];
        var resp=result.getResponseCode();
        var myDate=new Date();    
        sheet1.getRange(i+1,2).setValue(date);
        sheet1.getRange(i+1,3).setValue(contLength);
        sheet1.getRange(i+1,4).setValue(contType);
        sheet1.getRange(i+1,5).setValue(server);
        sheet1.getRange(i+1,6).setValue(exp);
        sheet1.getRange(i+1,7).setValue(resp);
        sheet1.getRange(i+1,8).setValue(myDate.toString());
      }
}

我期待这里的int值 - sheet1.getRange(i + 1,3)。setValue(contLength)。相反,每次执行脚本时它都会带来undefined或int值。

这可能是什么问题?

谢谢, 萨米尔

1 个答案:

答案 0 :(得分:0)

在尝试调试你的问题时,我已经添加了Utilities.Sleep(1000)函数给它一些时间,但它被卡在17个中有5个'未定义'。所有都有“text / html; charset = utf-8”作为Content-Type。可能只有Apache-Servers提供正确的格式(因为它们会产生整数)。你应该看看下一步,看看是不是问题。

查看我的shared doc