我使用UrlFetchApp发送用户和pwd (方法POST)。获取cookie后,在其他请求中使用(方法GET)。但是这个新请求不起作用,我认为这个cookie在这个新请求中没有正确使用。有谁可以帮我?
var opt ={
"method":"post",
"User-Agent" : "Mozilla/5.0",
"Accept" : "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
"Accept-Language" : "en-US,en;q=0.5",
"payload": this.payload.toString(),
"followRedirects" : false
};
var response = UrlFetchApp.fetch("https://edas.info/addTopic.php?c=19349",opt);
var resp1=response.getContentText();
Logger.log(resp1);
response.getResponseCode();
var headers = response.getAllHeaders();
var cookies = headers['Set-Cookie'];
for (var i = 0; i < cookies.length; i++) {
cookies[i] = cookies[i].split( ';' )[0];
};
opt = {
"method" : "get",
"User-Agent" : "Mozilla/5.0",
"Accept" : "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
"Accept-Language" : "en-US,en;q=0.5",
"headers": {
"Cookie": cookies.join(';')
},
"followRedirects" : false
};
response = UrlFetchApp.fetch("https://edas.info/addTopic.php?c=19349", opt);
var resp1=response.getContentText();
Logger.log(resp1); 发布于 2014-12-25 20:26:38
我不能为你的问题提供具体的帮助,尽管如这里的Cookie handling in Google Apps Script - How to send cookies in header?所示
正如https://stackoverflow.com/users/1435550/thierry-chevillard所说:
也要知道GAS使用的是谷歌的IP地址。可能发生两个连续获取使用不同It的情况。您要连接的服务器可能与会话IP相关。
您的代码是否在本地开发服务器上运行,并且只有在部署到App Engine后才会失败?或者它也会在本地失败?
https://stackoverflow.com/questions/27474674
复制相似问题