1

我尝试使用谷歌应用程序脚本登录网站,但卡在代码“var loginResponse = UrlFetchApp.fetch(loginURL,loginOptions);”上 返回错误代码500。

我试图在 chrome 开发工具中获取所有必要的数据并输入我的代码,但仍然没有运气。编辑:我添加了函数 grabData 来获取令牌。我看到 logger.log 返回不同的令牌,也许这就是我无法登录的原因。

function getData() {
  var loginURL = "https://example.com/login";
  var token = grabData("https://example.com/login",
      '<meta name="csrf-token" content="',
      '">');
Logger.log(token); // Logger 1st
  var dataURL = "https://example.com/c/daftar";
  var loginPayload = {
     '_token' : grabData("https://example.com/login",'<meta name="csrf-token" content="','">');,
     'email' : 'example@email.com',
     'password' : '123456'
  };

Logger.log(loginPayload);  //logger 2nd
  var headers = {
 'Connection':'keep-alive',
 'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3',
    'Content-Type':'application/x-www-form-urlencoded',
    'Cookie':'XSRF-TOKEN=eyJpdiI6InJHYzBMamNXc1wveDRDaVRvcCtibnF3PT0iLCJ2YWx1ZSI6ImkzMFFrUUR0MVBQdTVOU0NLTWoyRmk5OElxNWQrMDVVU2llMlNrQjFXOSs0TjVTRmNZTmo0MUFQZVRGS21cL3lFRFN4R1pveDlBS2x1TmxDVVZ6YUJUdz09IiwibWFjIjoiNzVhYjQ2NDUzYjBhNmE0OTFjYzk2MGNhNGE3YTM1NDRmYjA4NTgyN2EyN2EwZTllYTE1ZDM4YzQ0NjA5ZmM3YyJ9; xxx=eyJpdiI6IkIwdFVjd2xwSXZwY3dld0k3K2F1QVE9PSIsInZhbHVlIjoiTXBzZGREZFwvak91TllaaktkalwvR1o0RFQzamc5bXd2UmY3WW94UWhOdlQzeDJTTFVKZ2l2NUsySmZTdzBNYTVITDk5b0JqanQ3cFBYVlJiaWlxU1wvSlE9PSIsIm1hYyI6IjA5MDdkMzVhOTNhZWU5MWIxMGNlMTFiOWExNjJhZjVmY2VjYmJlMWZkYzg1MjMxNzhjOTcwNzIxZWJlMjlmMWUifQ%3D%3D',
    'user-agent': 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36'
  };

  var loginOptions = {
    'payload':loginPayload,
    'method':'POST',
    'headers': headers
    'followRedirects':false
  };

  var loginResponse = UrlFetchApp.fetch(loginURL,loginOptions);
  var loginHeaders = loginResponse.getAllHeaders();
  var cookie = [loginResponse.getAllHeaders()["Set-Cookie"]];
  cookie[0] = cookie[0].split(";")[0]; 
  cookie = cookie.join(";");  
  var dataHeaders = {'Cookie':cookie};
  var dataOptions = {'method':'get','headers':dataHeaders};
  var dataResponse = UrlFetchApp.fetch(dataURL,dataOptions);

  Logger.log(dataResponse);
}

在我成功登录网站之前,dataResponse 不会返回任何日志,我的代码有什么问题吗?

4

0 回答 0