我一直在尝试使用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,但要么我将其格式化错误,要么发送错误,因为我不断重定向。
答案 0 :(得分:0)
将muteHttpExceptions选项设置为'true'并进一步调查您提到的网站后,我认为这一切都是因为网站的Cookie而发生的。
因此,当我们第一次访问网站时,没有有效的cookie。所以它创建一个会话并设置cookie。这可能会将会话详细信息存储在该国家/地区。
您可以通过在请求标头中传递Cookie值来尝试在获取网址时设置Cookie。请查看此page,了解有关如何通过标头发送Cookie的详细信息。
希望有所帮助!