Wpis z mikrobloga

Hej mirki, piszę aplikację, która symuluje operacje na stronie poprzez wysyłanie requestów w #nodejs. Co 1,5 godziny jest wymagane odświeżenie cookiesów. Szukam sposobu na jak najlepszy sposób by to osiągnąć.
Mam asynchroniczną funkcję, w której jest całe flow -> monitorowanie produktu, dodawanie do koszyka itp. Czy wystarczy, że na samym początku puszczę setInterval z odpowiednim delayem i nie będę musiał tego więcej kontrolować?
  • 5
@jodla: Nie wiem jak przy cookies, ale na tokenach ja to zawsze robiłem tak że jeśli jakiś request się nie powiódł z powodu przeterminowanego tokena to po prostu go odświeżałem i wysyłałem jeszcze raz. W axiosie to się interceptor nazywa.
@chapak: Właśnie nie chcę tego w ten sposób robić bo tutaj ważna jest każda sekunda niestety a wygenerowanie nowych tokenów zajmuje do minuty, zależnie ile hindus rozwiązuje captchę i ile CloudFlare będzie to przetwarzać :/
@chapak: Chociaż jak tak pomyślałem, to jest to myśl. Dodam defaultowy interceptor, który będzie przed wysłaniem requestu sprawdzać timestamp wystawienia cookiesów i potem to w razie czego przetwarzał.
@jodla: W takim wypadku możesz też mieć osobny serwis który zawsze trzyma kilka dobrych cookiesów i ma crona który sprawdza ważność cookiesów.
Z ciekawości - łączysz się bezpośrednio pod api ze strony czy masz np puppeteer podpięty albo jeszcze inaczej?
@chapak: Wykonuję challenge w puppeteerze, nie mam zbytnio czasu na reversowanie całego WAF od CloudFlare bo oni i tak co kilka dni coś zmieniają i trzeba to maintencować. Problem z tym jest taki, że cookiesy mają ważności 1,5 godziny i mogą być używane tylko z IP, na którym cookies był wygenerowany. Więc rozważam po prostu powtarzanie wykonywania challenge po 1godz 15 minutach żeby ciągle sesja była żywa :P