首页 > 解决方案 > 如何使用 urlfetchapp 登录到具有多页弹出登录表单的网站

问题描述

我正在尝试使用我的用户名和密码登录网站。在主页点击登录时,会弹出一个只输入用户名的表单,我们需要点击下一步按钮输入密码。

我代码中的标头、有效负载和 url 登录是从 chrome 开发人员工具中获取的。

但是我下面的代码在执行时总是会超时。我的代码有问题吗?

我曾尝试用谷歌搜索与我的类似案例,但找不到任何案例。

function toped() {
var loginURL = 'https://www.*****.com/api/authorize?theme=popup&ld=https%3A%2F%2Fwww.*****.com%2F';  

var loginPayload = {
'email': 'email@yahoo.co.id',
'password': 'password'
 };

var headers = {
'Connection':'keep-alive',
'accept-encoding': 'gzip, deflate, br',
'accept-language': 'en-US,en;q=0.9',
'accept': 'accept: application/json, text/javascript, */*; q=0.01',
'content-type': 'application/x-www-form-urlencoded',
'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 = {  
'method':'POST',
'headers': headers,
'payload':loginPayload,
'followRedirects': true,
'muteHttpExceptions': true
  };

var loginResponse = UrlFetchApp.fetch(loginURL, loginOptions);

Logger.log(loginResponse.getResponseCode());
Logger.log(loginResponse.getAllHeaders());
}  

我希望我的代码在记录器中返回响应,但总是超时。

标签: google-apps-script

解决方案


推荐阅读