使用真实性令牌有效负载登录到第三方站点

时间:2019-02-22 17:36:03

标签: cookies google-apps-script urlfetch

我尝试使用Google Apps脚本登录网站以下载一些CSV文件并解析页面未成功。但是,该站点似乎在提交表单中使用了真实性令牌。我在网上找到的所有示例(仅一个示例)都解决了一种简单的情况,即仅用户名和密码,或者传递cookie就足够了。但是,我无法弄清楚如何修改解决令牌的示例。

首先,我做了类似的事情:

var payload = {
    "user[username]":"username",
    "user[password]":"password"
  };       
var opt ={
    "method":"post",
    "payload":payload, 
    "followRedirects" : false
  };
var url = "https://www.somethirdpartysite.com/users/sign_in"
var loginResponse = UrlFetchApp.fetch(url, opt);
Logger.log(loginResponse.getResponseCode());

返回的响应是代码200(未登录)。

我发现我可能需要对下一个以下请求使用Cookie:

var sessionDetails = loginResponse.getAllHeaders()['Set-Cookie'];
var hearders = { 
    "Cookie" : sessionDetails
}
var optionsCsv = {
  "headers" : headers,
  "method" : "post"
}
var downloadCsvResponse = UrlFetchApp.fetch(urlToCsv, optionsCSV);
Logger.log(downloadCsvResponse.getContentText())

但是,响应为200个代码。

关于真实性令牌的参考link

0 个答案:

没有答案
相关问题