如何在Google Apps脚本中获取位置标头

时间:2014-07-04 16:11:37

标签: redirect google-apps-script google-sheets

我正在尝试构建Google电子表格,其中包含:

  • A列是应该301重定向的网址列表
  • B列是我们要重定向到
  • 的目标网址
  • C列是点击A列时的服务器响应代码
  • D列是点击A列时最终提供的网址
  • E列是B和D匹配的布尔值

我在填充D列时遇到了问题。这是我尝试过的:

function getHeaders(tURL) {
   var response = UrlFetchApp.fetch(tURL);
   var tHeaders = response.getAllHeaders();
}

我期待着"位置"将在响应标题中。但似乎这种方法只返回少数服务器响应头。我得到:X-Frame-Options,Date,P3P,Content-Length,Expires,X-XSS-Protection,Content-Encoding,Alternate-Protocol,Set-Cookie(array),Content-Type,Server,Cache-Control。

问题 有关另一种到达地点的方式的建议吗?或者关于如何确定网址重定向到哪里的另一个想法?

1 个答案:

答案 0 :(得分:2)

您需要使用UrlFetchApp类的fetch(url, params)方法,并将followRedirects参数设置为false

var response = UrlFetchApp.fetch(tURL, {'followRedirects':false});

followRedirects默认为true,因此您的请求会返回重定向到的页面的标题和内容,而不是请求的页面。这就是为什么你没有在那里看到Location头。