使用Google Apps脚本连接到网站

时间:2015-07-16 22:07:26

标签: http google-apps-script

我一直在尝试使用GAS的URLFetchApp连接到外部网站。但是,无论我使用什么网址,网站都会将我重定向到“选择国家/地区”页面,其中包含HTTP 302错误。

var options = {
    'muteHttpExceptions':true
  }; 
  var response = UrlFetchApp.fetch("http://www.idtdna.com/site/account", options);
  Logger.log(response.getAllHeaders());
  Logger.log(response.getContentText());
  var cookie = response.getAllHeaders()['Set-Cookie']+', CN=US&DateSet=7/28/2015 5:48:55 PM; Path=/; Domain=www.idtdna.com';
  Logger.log(cookie);
  var header = {'Cookie':cookie};
  var o2 = {
    'headers':header,
    'muteHttpExceptions':true
  };
  var r2 = UrlFetchApp.fetch("https://www.idtdna.com/country.aspx", o2);
  Logger.log(r2.getAllHeaders());
  Logger.log(r2.getContentText());

这是我的代码。我一直在尝试发送cookie,但要么我将其格式化错误,要么发送错误,因为我不断重定向。

1 个答案:

答案 0 :(得分:0)

将muteHttpExceptions选项设置为'true'并进一步调查您提到的网站后,我认为这一切都是因为网站的Cookie而发生的。

因此,当我们第一次访问网站时,没有有效的cookie。所以它创建一个会话并设置cookie。这可能会将会话详细信息存储在该国家/地区。

您可以通过在请求标头中传递Cookie值来尝试在获取网址时设置Cookie。请查看此page,了解有关如何通过标头发送Cookie的详细信息。

希望有所帮助!