• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Od kilku dni zmagam sie z Cloudflare Bot Challenge

0 głosów
287 wizyt
pytanie zadane 18 maja 2025 w Python przez Mateusz Analityk Stary wyjadacz (13,740 p.)

Może zacznę od wiedzy jaką zdobyłem przez te kilka dni:

1. Cloudflare Bot Challenge sprawdza user-agenta, czyli to czy przeglądarka jest zgodna z systemem operacyjnym i jej wersja jest aktualna

2. Gnerowane są hasze JA3 i  JA4 czyli fingerprint przeglądarki, ja aby uzyskać większą wiarygodność używałem biblioteki:

tls_client

Czy większa skuteczność? W zależności od testu, trudno jest mi to oszacować, aproksymacja niestety ma duże odchylenie standardowe i po wykonaniu iluś testów ciężko jest mi powiedzieć, czy jest to faktycznie lepsze od zwykłego użycia selenium.

3. Próbowałem pakietu:

undetected-chromedriver 

Jednak to repo na github nie jest już wspierane, testy wychodzą też różnie

4. Kożystałem z losowych adresów tor, co ciekawe przeglądanie interetu przez tor-browser nie generuje problemu wiecznie zapętlającej się captcha, której nawet ręcznie nie można przejść, jednak w przypadku selenium on pojawi się zawsze.

5. Obszedłem captche za pomocą wstrzyknięcia skryptu js, który wyciągał takie parametry jak:

pageAction <string> required

The action field can be found in the callback function to load the captcha. If cloudflareTaskType is used, the action is usually "managed" or "non-interactive".

data <string>required
The value of the data field can be taken from the cData parameter.
pageData <string> required

The value of the pageData field can be taken from the chlPageData parameter.

Wzorując się na tym fragmencie dokumentacji technicznej, wiedziałem gdzie tego szukać, ale wyciągnąć dynamicznie renderowane parametry nie było łatwo. Zrobiłem to po przez wstrzykiwanie kodu js w stronę html przed jej pełnym załądowaniem. Ta dokumentacja jest dostępna tutaj: https://docs.capmonster.cloud/docs/captchas/turnstile-task/?roistat_visit=615435

6. Wysyłałem następnie te parametry do api i otrzymywałem token, który wstrzykiwałem w stronę.

7. To rozwiązanie działąło mi krótko, bo tylko przez jeden dzień. Co ciekawe ręcznie nie potrafiłem rozwiązać tego wyzwania, ale wstrzyknięcie tokena działało.

8. Teraz to rozwiązanie już mi nie działa, bo rozwiązanie powoduje zapętlenie

9. Najlepszym rozwiązaniem wydaje się posiadać pulę, zaufanych adresów, ip, które nie są oflagowane

10. Próbowałem użyć także proxy, gdzie wszystkie wydają się być oflagowane

Jakie rozwiązanie tego problemu możecie mi zaproponować?

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

+2 głosów
0 odpowiedzi 498 wizyt
pytanie zadane 29 maja 2024 w Hostingi, domeny, usługi przez Tajniakkk Użytkownik (660 p.)
0 głosów
1 odpowiedź 273 wizyt
0 głosów
1 odpowiedź 588 wizyt
pytanie zadane 17 czerwca 2022 w Hostingi, domeny, usługi przez doskanoness Obywatel (1,240 p.)

93,731 zapytań

142,668 odpowiedzi

323,286 komentarzy

63,289 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...