Автоматический вход в данные скрипта не корректно закодирован - есть ли способы обойти это? - PullRequest
1 голос
/ 29 апреля 2019

Настройка скрипта Google для входа на веб-сайт и загрузки некоторых файлов PDF в папку на диске Google. На веб-сайте будет опубликован токен csrf, электронная почта пользователя и пароль пользователя. При использовании UrlFetchApp.getRequest, просто чтобы посмотреть, что он собирается отправить, getRequest (и .fetch и т. Д.) Покажет мне, что функция правильно кодирует большинство символов, но для моего пользователя, введенного по электронной почте и паролю, она не будет их кодировать.

При проверке данных поста с момента моего входа в систему они должны быть «user% 40email.com» (% 40 для @).

Но при просмотре запроса, который будет отправлен из UrlFetchApp.getRequest, я вижу, что отправляемое письмо по-прежнему «user@email.com». Если я попытаюсь вручную ввести% 40 для '@' или использовать какой-либо из кодировщиков, то электронное письмо с кодировкой URL становится 'user% 2540email.com' (то есть, я думаю, оно также кодирует '%').

Мысли? Обойтись?

Я пробовал все возможные комбинации между escape, encodeURI и encodeURIComponent, просто надеясь, что что-то сработает.

var url = 'www.url.com';

var token = 'csrf-token';
var email = 'user@email.com';
var pass = 'pass!word';

var formData = {
 'authenticity_token': token,
 'user[email]': email,
 'user[password]': pass
};

var options = {
  'method': 'post',
  'payload': formData,
  'followRedirects': true
};

var req = UrlFetchApp.getRequest(url, options);
Logger.log(req);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...