Obsługa plików cookie w skrypcie Google Apps - Jak wysyłać pliki cookie w nagłówku?
Próbuję napisać prosty skrypt, który pobiera tekst ze strony internetowej i przetwarza ten ciąg. Ale ta strona wymaga ode mnie zalogowania. Udało mi się zalogować na tej stronie. Tak się zalogowałem:
var payload = {"name1":"val1","name2":val2"};
var opt ={"payload":payload,"method":"post"};
var respose = UrlFetchApp.fetch("http://website.com/login",opt);
Po zalogowaniu strona umieszcza mniehttp://website.com/home
. sprawdziłemresponse.getContentText()
i mogę potwierdzić, że zostałem pomyślnie zalogowany, ponieważ zawiera tekst zhttp://website.com/home
. Teraz muszę pobrać zawartośćhttp://website.com/page
i przetworzyć to. Najpierw założyłem, że skrypt może sam obsługiwać pliki cookie i kontynuować
var pagedata = UrlFetchApp.fetch("http://website.com/page);//Did not work
To oczywiście nie działało ipagedata.getContentText()
mówi, że muszę się najpierw zalogować, co oznacza, że pliki cookie nie zostały pomyślnie przekazane ..
Następnie próbowałem wyodrębnić pliki cookie, które serwer odpowiedział podczas logowania i wysłać je wraz z tym żądaniem.
var cookie = response.getAllHeaders()['Set-Cookie'];
// variable cookie now contains a legitimate cookie.
// It contains 'JSESSIONID=blabla;Path=/' and
// it is the ONLY cookie that server responds.
Próbowałem wysłać ten plik cookie na żądanie strony.
var header = {'Cookie':cookie};
var opt2 = {"header":header};
var pagedata = UrlFetchApp.fetch("http://website.com/page",opt2);
Myślę, że nawet teraz pliki cookie nie zostały poprawnie wysłane, ponieważ treść ponownie mówi, że muszę się zalogować.
Czy przekazuję pliki cookie poprawnie? Potrzebuję pomocy dotyczącej prawidłowej metody wysyłania plików cookie w żądaniu.