Как использовать UrlFetchApp с учетными данными? Google Scripts
Я пытаюсь использовать Google Scripts UrlFetchApp для доступа к веб-сайту с базовым именем пользователя и паролем. Как только я подключаюсь к сайту, появляется всплывающее окно, требующее аутентификации. Я знаю логин и пароль, но не знаю, как передать их в UrlFetchApp.
var response = UrlFetchApp.fetch ("htp: //00.000.000.000: 0000 /");
Logger.log (response.getContentText ("UTF-8"));
В данный момент запущенный код возвращает "Отказано в доступе". Приведенный выше код не содержит фактического адреса, к которому я подключаюсь в целях безопасности. "T" отсутствует во всех "http" в примерах кода, потому что они обнаруживаются как ссылки, и Stackru не позволяет мне отправлять более двух ссылок.
Как я могу передать логин и пароль вместе с моим запросом? Также есть ли способ продолжить сеанс после входа в систему? Или мой следующий запрос UrlFetchApp будет отправлен с другого сервера Google, требующего повторной регистрации?
Цель здесь - войти на веб-сайт за сетевой инфраструктурой Google s, чтобы он мог выступать в качестве прокси-сервера, затем мне нужно отправить еще один запрос UrlFetchApp на тот же адрес, который будет выглядеть примерно так:
var response = UrlFetchApp.fetch ("htp: //00.000.000.000: 0000 / vuze / rpc? json = {" method ":" torrent-add "," arguments ": {" filename ":" htp: // vodo.net / СМИ / торренты /anything.torrent" "скачать-Dir":"C:\ Temp"}}");
Logger.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);