使用urlfetchapp自己的重定向?

时间:2014-08-14 12:17:22

标签: google-apps-script urlfetch

我正在尝试在网站上做一个urlfetchapp,该网站包含HTML,但这对我来说已经足够了。 例如,我想要this url

这种方法的问题是,在我第一次访问this url之前,它不会向我显示任何数据。

我试图在彼此之后做2个urlfetchapp。但这并没有奏效。 我该如何解决这个问题?

下面是我的测试代码,如果有数据,那么objTable应该获取数据。

function loadXML()
{ 
  try
  {
    var URL = "http://www.knzb.nl/verenigingen/wedstrijdsport/waterpolo/uitslagen_waterpolo/iframe/verenigingen/KNZB-DISTRICT-OOST/";
    var response = UrlFetchApp.fetch(URL);
    URL = "http://www.knzb.nl/verenigingen/wedstrijdsport/waterpolo/uitslagen_waterpolo/iframe/verenigingen/poule/1178/2074/DHS289F/";
    response = UrlFetchApp.fetch(URL).getContentText();
    Logger.log(response);
    var doc = Xml.parse(response, true);

    var objTable = doc.html.body.form.div[1].div.div.div.div.div.div;
  }
  catch(err)
  {
    var objTable = "Load failed";
    Logger.log("Loading data failed: " + err);
  }
  return objTable;
}

1 个答案:

答案 0 :(得分:1)

我已经找到了自己问题的答案。 需要重新发送cookie。下面的脚本正常工作。

function loadXML()
{ 
  try
  {
    var URL = "http://www.knzb.nl/verenigingen/wedstrijdsport/waterpolo/uitslagen_waterpolo/iframe/verenigingen/KNZB-DISTRICT-OOST/";
    var response1 = UrlFetchApp.fetch(URL);
    Logger.log(response1);
    var cookieStr = response1.getHeaders()["Set-Cookie"];
    var params = {method: "POST", headers:{"Cookie": cookieStr}};
    URL = "http://www.knzb.nl/verenigingen/wedstrijdsport/waterpolo/uitslagen_waterpolo/iframe/verenigingen/poule/1178/2074/DHS289F/";
    response = UrlFetchApp.fetch(URL, params);
    Logger.log(response.getAllHeaders());
    response = response.getContentText();
    var doc = Xml.parse(response, true);

    var objTable = doc.html.body.form.div[1].div.div.div.div.div.div;
  }
  catch(err)
  {
    var objTable = "Load failed";
    Logger.log("Loading data failed: " + err);
  }
  return objTable;
}