Próbuję napisać prosty skrypt, który pobiera tekst ze strony i przetwarza ten ciąg. Ale ta strona wymaga zalogowania się. Udało mi się zalogować na tę stronę. To jak ja zalogowany:Obsługa plików cookie w Google Apps Script - jak wysyłać pliki cookie w nagłówku?
var payload = {"name1":"val1","name2":val2"};
var opt ={"payload":payload,"method":"post"};
var respose = UrlFetchApp.fetch("http://website.com/login",opt);
Po zalogowaniu się na stronie internetowej umieszcza mnie w http://website.com/home
. Sprawdziłem response.getContentText()
i mogę potwierdzić, że jestem zalogowany, ponieważ zawiera on tekst z http://website.com/home
. Teraz potrzebuję uzyskać zawartość http://website.com/page
i przetworzyć to. raz pierwszy przyjęto skrypt może obsługiwać pliki cookie przez siebie i przystąpił
var pagedata = UrlFetchApp.fetch("http://website.com/page);//Did not work
To oczywiście nie działał i pagedata.getContentText()
mówi, żebym się najpierw zalogować, co wskazuje cookies nie zostały pomyślnie przeszedł ..
Potem próbował wyodrębnij pliki cookie, na które serwer odpowiedział podczas logowania, i wyślij je razem 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 mojej 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, żebym się logował.
Czy poprawnie przekazuję pliki cookie? Potrzebuję pomocy w zakresie prawidłowej metody wysyłania plików cookie w żądaniu.
Dzięki za wskazanie !. Tak, jestem pewien, że serwer wysyła tylko jedno ciasteczko uwierzytelniające. Spróbuję i zgłoś się z '' nagłówkami "' – AKarthik10
EDIT: Próbowałem go z '" nagłówkami "' i to działało. Mogę potwierdzić, że działa. Zrobiłem plik PHP, który zapisuje wszystkie nagłówki, z którymi został zażądany. Poprosiłem o to za pomocą UrlFetchApp i mogłem zobaczyć w moim dzienniku wszystkie niestandardowe nagłówki wysłane z UrlFetchApp. Więc gdzie popełniłem błąd był "" nagłówek "' i musi to być '" nagłówek "'. Dziękuję Ci! – AKarthik10