Jak używać UrlFetchApp z poświadczeniami? Skrypty Google
Próbuję użyć Google Scripts UrlFetchApp, aby uzyskać dostęp do witryny z podstawową nazwą użytkownika i hasłem. Gdy tylko połączę się z witryną, pojawi się wyskakujące okienko, które wymaga uwierzytelnienia. Znam Login i hasło, jednak nie wiem, jak je przekazać w ramach UrlFetchApp.
Var response = UrlFetchApp.fetch ("htp://00.000.000.000:0000/");
Logger.log(response.getContentText ("UTF-8"));
Aktualnie uruchomiony KOD Zwraca "Access Denied". Na powyższy kod nie zawiera rzeczywistego adresu, z którym łączę się ze względów bezpieczeństwa. Brakuje "t "we wszystkich" http " w przykładach kodu, ponieważ są one wykrywane jako linki, a Stackoverflow nie pozwala mi przesłać więcej niż dwóch linków.
Jak mogę podać Login i hasło wraz z moją prośbą? Czy mogę kontynuować sesję po zalogowaniu się? A może moja następna Prośba UrlFetchApp zostanie wysłana z innego serwera Google wymagającego ponownego zalogowania?
Celem tutaj jest zalogowanie się do strony internetowej za infrastrukturą sieciową Googles, aby mogła działać jako proxy, a następnie muszę wydać kolejne żądanie UrlFetchApp na ten sam adres, który wyglądałby mniej więcej tak:
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"}}");
Logger.log(response.getContentText ("UTF-8"));
2 answers
Na to pytanie udzielono odpowiedzi w innym miejscu. Oto podsumowanie:
Bruce Mcpherson
basic authentication looks like this... var options = {}; options.headers = {"Authorization": "Basic " + Utilities.base64Encode(username + ":" + password)};
Lenny Cunningham
//Added Basic Authorization////////////////////////////////////////////////////////////////////////////////////////// var USERNAME = PropertiesService.getScriptProperties().getProperty('username'); var PASSWORD = PropertiesService.getScriptProperties().getProperty('password'); var url = PropertiesService.getScriptProperties().getProperty('url');//////////////////////////Forwarded
Porty Do WebRelay
var headers = { "Authorization" : "Basic " + Utilities.base64Encode(USERNAME + ':' + PASSWORD) }; var params = { "method":"GET", "headers":headers }; var reponse = UrlFetchApp.fetch(url, params);
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-05-18 05:09:39
Nie udało mi się znaleźć linków źródłowych user3586062 (mogły zostać usunięte), ale biorąc pod uwagę podejście Bruce ' a McPhersona, Twój kod wyglądałby tak:
var options = {};
options.headers = {"Authorization": "Basic " + Utilities.base64Encode(username + ":" + password)};
UrlFetchApp.fetch("TARGET URL GOES HERE", options);
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-08-18 16:02:26