google-apps-script - 如何使用 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());
}
我希望我的代码在记录器中返回响应,但总是超时。
解决方案
推荐阅读
- installation - Dotfuscator - 是否混淆 .msi 文件?
- apache - 使用 Logstash 解析 HTTP URL 参数时如何绕过“检测到的模糊字段引用”
- matlab - 如何在 MATLAB App Designer 中使用属性在两个应用程序之间共享数据?
- javascript - 性能使用 child.parentNode 与 getElementById 访问父级
- docker - 如何从标签中获取 docker 镜像摘要
- reactjs - REACT 使用 window.FileReader 上传多个文件
- android - 在 Oppo 手机中添加 NetworkType.CONNECTED 约束后未执行 OneTimeWorkRequest
- vue.js - 如何显示前几个月的开始和结束日期?
- leaflet - 在 Leaflet 中突出显示线条时遇到问题?
- python - 转置后重命名列