Как использовать UrlFetchApp с учетными данными? Скрипты Google

Я пытаюсь использовать Google Scripts UrlFetchApp для доступа к веб-сайту с базовым именем пользователя и паролем. Как только я подключаюсь к сайту, появляется всплывающее окно, требующее аутентификации. Я знаю логин и пароль, однако я не знаю, как передать их в UrlFetchApp.

var response = UrlFetchApp.fetch ("htp://00.000.000.000:0000/");
Лесоруб.log (response.getContentText ("UTF-8"));

В настоящее время выполняется этот код возвращает "Доступ Запрещен". Приведенный выше код не содержит фактического адреса, к которому я подключаюсь по соображениям безопасности. "T" отсутствует во всех" http " в примерах кода, потому что они обнаруживаются как ссылки, а Stackoverflow не позволяет мне отправлять более двух ссылок.

Как я могу передать логин и пароль вместе с моим запросом? Также есть ли в любом случае я могу продолжить сеанс после входа в систему? Или мой следующий запрос UrlFetchApp будет отправлен с другого сервера Google требуется ли мне снова войти в систему?

цель здесь состоит в том, чтобы войти на сайт за сетевой инфраструктурой Googles, чтобы он мог выступать в качестве прокси-сервера, тогда мне нужно выпустить еще один запрос UrlFetchApp на тот же адрес, который будет выглядеть примерно так:

var response = UrlFetchApp.fetch("htp://00.000.000.000:0000/vuze/rpc?json={"method":"torrent-add","arguments":{"filename":"htp://vodo.net/media/torrents/anything.torrent","download-dir":"C:temp"}}");
Лесоруб.log (response.getContentText ("UTF-8"));

2 ответов


на этот вопрос был дан ответ на другой, где. Вот резюме:

Брюс Макферсон

basic authentication looks like this...
    var options = {};
    options.headers = {"Authorization": "Basic " + Utilities.base64Encode(username + ":" + password)};

Ленни Каннингем

//Added Basic Authorization//////////////////////////////////////////////////////////////////////////////////////////

  var USERNAME = PropertiesService.getScriptProperties().getProperty('username');
  var PASSWORD = PropertiesService.getScriptProperties().getProperty('password');

  var url = PropertiesService.getScriptProperties().getProperty('url');//////////////////////////Forwarded

порты для WebRelay

  var headers = {
    "Authorization" : "Basic " + Utilities.base64Encode(USERNAME + ':' + PASSWORD)
  };

  var params = {
    "method":"GET",
    "headers":headers
  };

var reponse = UrlFetchApp.fetch(url, params);

Я не смог найти user3586062исходные ссылки (они, возможно, были удалены), но, принимая подход Брюса Макферсона, ваш код будет выглядеть так:

var options = {};
options.headers = {"Authorization": "Basic " + Utilities.base64Encode(username + ":" + password)};
UrlFetchApp.fetch("TARGET URL GOES HERE", options);