Playground

Playground (pasek boczny > Playground) pozwala na wykonywanie zapytań API na żywo przy użyciu Twojego prawdziwego klucza bez pisania kodu. To najszybszy sposób na przetestowanie nowej strony docelowej, debugowanie trudnej odpowiedzi lub porównanie trybów Auto, Single, Proxy i Browser obok siebie.

Otwórz go pod adresem foura.ai/dashboard#playground.

Jak to działa

Jeden formularz. Cztery silniki. Rzeczywisty ruch.

  • Auto: inteligentne pobieranie. Podajesz URL oraz regułę validate, a FourA wybiera najtańszą działającą ścieżkę.
  • Single: bezpośrednie pobieranie HTTP z realistycznymi charakterystykami sieciowymi przypominającymi przeglądarkę
  • Proxy: zarządzane pobieranie przez rotacyjne proxy, opcjonalnie ograniczone do krajów widocznych dla celu
  • Browser: otwiera URL w instancji przeglądarki Chrome dla stron renderowanych w JS

Zapytania są wykonywane przy użyciu klucza API wybranego na górze strony. Zużycie wlicza się do limitu tego klucza dokładnie tak samo jak wywołanie produkcyjne, więc uważaj na limit swojego planu podczas testów.

Wybór klucza

Rozwijana lista kluczy API zawiera wszystkie aktywne klucze, których możesz użyć: Twoje własne w sekcji My Keys, a następnie po jednej grupie dla każdej organizacji, do której należysz. Każdy członek może używać klucza organizacji, a zapytanie z jego użyciem obciąża plan właściciela organizacji. Wybierz klucz, do którego ma zostać przypisane zapytanie. Jeśli nie masz jeszcze żadnych aktywnych kluczy, monit na stronie przekieruje Cię do strony API Keys, aby go utworzyć.

Wybór trybu

Górny wiersz Mode przełącza między trybem Auto a silnikami manualnymi. Po wybraniu Auto formularz przełącza się na minimalny interfejs Auto (URL plus validate oraz kilka opcji). Zawsze widoczne są oba wiersze: Mode: Auto oraz Product: Single, Proxy, Browser. Wybór jednego odznacza drugi. Przełączanie produktów zmienia widoczne pola oraz silnik, do którego trafia zapytanie. Bieżący wybór jest zachowywany po odświeżeniu strony.

Mode Kiedy używać
Auto Nowy cel lub strona o zróżnicowanych zabezpieczeniach. Auto wybiera najtańszą ścieżkę i zapamiętuje, co działa.
Single Szybkie pobieranie HTTP. Najlepszy pierwszy wybór dla znanego hosta.
Proxy Takie samo pobieranie z automatyczną rotacją proxy. Ustaw exitCountries, gdy potrzebujesz konkretnego kraju widocznego dla celu.
Browser Ładuje stronę w instancji przeglądarki Chrome. Użyj, gdy dane pojawiają się dopiero po wykonaniu JavaScriptu.

Tworzenie zapytania

Wiersz URL

Górny wiersz zawiera metodę HTTP (GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS), docelowy URL oraz przycisk Send. Single, Proxy i Auto obsługują każdą metodę. Browser ignoruje metodę (Chrome zawsze wysyła GET do nawigacji) oraz body.

Zakładki zapytania

Poniżej wiersza URL pięć zakładek pozwala uzupełnić pozostałe parametry:

Karta Za co odpowiada
UI Pola formularza dla timeoutów, przekierowań, flag, proxy, opcji specyficznych dla przeglądarki oraz reguł walidacji
Body Dowolna treść body dla żądań POST / PUT / PATCH
Headers Niestandardowe nagłówki żądania jako pary klucz-wartość
Cookies Pliki cookie do wysłania z żądaniem
Raw Dokładny ładunek JSON, który zostanie wysłany, jako podgląd tylko do odczytu z przyciskiem Copy JSON, a pod nim polecenie curl do odtworzenia żądania

Wszystko, co zmienisz w UI / Body / Headers / Cookies, jest odzwierciedlane w Raw. Nie można pisać bezpośrednio w Raw: modyfikuj żądanie na pozostałych kartach. Czerwona kropka pojawia się na każdej karcie lub zwijanej sekcji zawierającej wartość inną niż domyślna dla silnika, dzięki czemu od razu widzisz wprowadzone modyfikacje.

Sekcje panelu UI

Karta UI grupuje ustawienia w zwijane sekcje. Puste pola przyjmują domyślne wartości ze schematu silnika. Sekcje, które nie mają zastosowania do bieżącego trybu, są ukryte.

  • Timeouts: timeout_ms, connect_timeout_ms, accept_timeout_ms, server_response_timeout_ms, dns_cache_timeout_sec. Tryb Auto udostępnia tylko timeout_ms (całkowity budżet).
  • Redirects: przełączanie i ustawianie followRedirects (0-20). Tryby Single i Proxy. Browser automatycznie podąża za przekierowaniami.
  • Flags: unblocker dla trybów Single, Proxy i Browser (unblocker w trybie Browser wykonuje weryfikacje wymagane przez stronę); tryJsonData i returnBuffer dla Single i Proxy. Auto udostępnia zamiast tego forceProxy oraz returnSession.
  • Proxy: wybierz konkretny identyfikator proxy dla trybów Single lub Browser albo ustaw maxTries, zewnętrzny timeout dla Proxy, exitCountries, exitClass oraz ignoreProxies dla silnika Proxy. Auto udostępnia również ignoreProxies. Lista wyboru exitClass ma trzy stany: brak wyboru nie wysyła żadnego pola, standard oznacza, że żądanie nigdy nie może eskalować, a premium pozwala na eskalację do węzła wyjściowego premium, gdy standardowa pula ma trudności. Brak wyboru i standard to różne żądania, więc pozostaw pole wyboru puste, chyba że celowo wybierasz jeden z tych wariantów. Opcja Premium wymaga planu obejmującego wyjścia premium: zobacz exitClass.
  • Browser profile: trzy kaskadowe listy rozwijane, os, browser i version, zawierające profile, które FourA potrafi rzeczywiście emulować. Pojawiają się w trybach Single i Proxy. Pozostaw je puste dla najnowszego Chrome. Każda lista zawęża pozostałe dwie, więc kombinacja bez pokrycia nigdy się nie pojawi. Sekcja wymaga włączenia unblocker: przy wyłączonej opcji nagłówki przeglądarki nie są wysyłane, profil zostałby zastosowany tylko częściowo, a API odrzuci takie żądanie.
  • Browser: opcje dostępne wyłącznie dla przeglądarki, takie jak checkStatus i checkText.
  • Validate: status accept i status fail przyjmują kody statusu rozdzielone przecinkami (validate.status), a body accept i body fail przyjmują ciągi znaków z alternatywami rozdzielonymi za pomocą | (validate.data). Dostępne dla Single, Proxy i Auto. Browser używa zamiast tego checkStatus oraz checkText. Formularz nie zawiera pola dla reguł nagłówków (validate.headers).

Gdy uruchomienie zwróci działające proxy, na dole karty interfejsu pojawi się sekcja Working proxies. Zawiera ona do 20 identyfikatorów proxy, od najnowszych, każdy z krajem wyjściowym i czasem. Kliknięcie use wstawia wybrane proxy do pola proxy w trybie Single lub Browser (silnik Proxy dobiera je samodzielnie), a × usuwa je z listy.

Zakres kraju wyjściowego (tryb Proxy)

Pole exitCountries w trybie Proxy przyjmuje rozdzielaną przecinkami listę dwuliterowych kodów krajów widocznych dla celu (CZ, GB). Wartości są przycinane z białych znaków, konwertowane na wielkie litery i deduplikowane podczas wysyłania. Wybór działa jako ścisła biała lista: serwery proxy o nieznanym kraju wyjściowym są wykluczane, a żądanie nigdy nie przełącza się awaryjnie na inny kraj. Jeśli w bieżącej puli nie ma dopasowania, odpowiedź zwraca code: "no_eligible_proxy" z żądanym zakresem przekazanym zwrotnie w details.exitCountries. Zachowaj zakres i ponów próbę później.

Gdy wywołanie proxy powiedzie się w ramach ograniczenia zakresu, pasek odpowiedzi wyświetla exit <CODE> obok identyfikatora proxy, co pozwala zweryfikować, czy zwrócony kraj jest zgodny z żądanym.

Resetowanie z paska narzędzi

Przycisk Reset na pasku narzędzi (obok pozycji History i Saved) przywraca stan początkowy środowiska testowego. Ponieważ jest to operacja nieodwracalna, otwiera okno dialogowe z dokładną listą elementów do usunięcia: wszystkie trzy formularze produktów (Single, Proxy, Browser), zapisane pliki cookie, przeniesione serwery proxy oraz bieżąca odpowiedź. Zapisane szablony i wybrany klucz API zostają zachowane. Kliknij Reset everything, aby potwierdzić; każda inna akcja anuluje operację.

Wysyłanie i anulowanie

Kliknij Send, aby wysłać żądanie. Podczas wykonywania wywołania prawa kolumna przechodzi w stan ładowania ze wskaźnikiem postępu i przyciskiem Cancel. Kliknij Cancel (lub naciśnij przycisk ponownie na urządzeniu mobilnym), aby przerwać operację. Anulowane żądanie przywraca domyślny widok z komunikatem "Request canceled." zamiast wyświetlania błędu.

Karta odpowiedzi przełącza się na wynik w momencie zakończenia (lub niepowodzenia) żądania. Wywołania w trybie Auto mogą trwać dłużej niż w trybach manualnych, ponieważ drabina eskalacji może wymagać przejścia przez kilka poziomów dla nowego celu.

Odczytywanie odpowiedzi

Kolumna odpowiedzi odzwierciedla układ żądania za pomocą własnych kart:

Tab What it shows
Body Przetworzona treść odpowiedzi. Przełącza się między widokami JSON, HTML i Text w zależności od otrzymanych danych.
Headers Nagłówki odpowiedzi, po jednym w wierszu.
Cookies Pliki cookie zwrócone przez cel, w widoku przetworzonym (grupowane według hosta) oraz surowym (tekst Set-Cookie). Widok przetworzony oznacza pliki cookie typu host-only plakietką HO; pliki cookie dla domeny pozostają nieoznaczone.
Raw Pełna struktura JSON zwrócona przez API.

Pasek narzędzi odpowiedzi zawiera przyciski Copy i Download dla całej odpowiedzi oraz pole Find in response (Ctrl+K lub Cmd+K) do przeszukiwania otwartej karty, z nawigacją po wynikach za pomocą klawiszy Enter i Shift+Enter. Karty Body, Headers oraz Cookies mają również własne przyciski Copy i Download działające w obrębie danej karty.

Pasek meta nad zakładkami pokazuje nadrzędny status HTTP, łączny czas, ID proxy, które obsłużyło wywołanie, oraz (w przypadku wywołania Proxy ze zdefiniowanym zakresem) dwuliterowy exit <CODE>. Dla uruchomień Auto pasek pokazuje także szczebel drabiny, który zwrócił odpowiedź, liczbę wykonanych prób podrzędnych oraz wykorzystane kredyty.

Czego wymagało wywołanie

Zdanie pod paskiem meta opisuje słownie, co obsłużyło stronę. W przypadku uruchomienia Auto wskazuje szczebel (sesję, którą FourA już miało dla danego hosta, zwykły request, rotacyjne proxy, prawdziwą przeglądarkę lub najpierw przeglądarkę, a potem tani replay), informację, czy rozwiązano challenge, liczbę prób oraz poniesiony koszt.

Gdy któryś z limitów Twojego planu zablokował wywołanie, zdanie informuje o tym w pierwszej kolejności: "Zatrzymano przez Twój plan, a nie przez witrynę", a następnie podaje, który to limit (wyczerpane dzisiejsze żądania przeglądarki, zbyt wiele równoległych żądań w toku, wykorzystane kredyty w tym okresie itd.) wraz z linkiem do Usage & Limits. Komunikat ten jest tworzony na podstawie kodu X-FourA-Limit zwróconego przez API, dzięki czemu przy nieudanym pobraniu trudnej strony wiesz, czy zatrzymała je witryna, czy Twój plan.

Przenoszenie wartości między uruchomieniami

Po każdym uruchomieniu, które zwróciło dane sesji wielokrotnego użytku, mały element sterujący Carry na pasku narzędzi odpowiedzi pokazuje dostępne opcje:

  • Uruchomienia Auto oferują pełną trójkę session (proxy, cookies, userAgent).
  • Uruchomienia Browser oferują userAgent z odpowiedzi oraz ID proxy, jeśli zostało użyte.
  • Uruchomienia Proxy oferują zwrócone ID proxy, profil przeglądarki, gdy rotacja wybrała inny niż żądany, oraz exitClass, który obsłużył wywołanie, co pozwala na bezpośrednie ponowne wysłanie odpowiedzi premium.

Kliknij Carry i wybierz jednym kliknięciem, gdzie zastosować każdą wartość: userAgent staje się nagłówkiem User-Agent w Single lub Proxy, a ID proxy trafia do pola proxy w Single lub Browser. Pola, które otrzymały przeniesioną wartość, pokazują czerwoną kropkę "zmodyfikowano", dzięki czemu widzisz, co uległo zmianie.

Przeniesiony profil przeglądarki wypełnia trzy pola wyboru: system operacyjny, przeglądarkę i wersję, a także włącza unblocker, zgodnie z tą samą regułą, która obowiązuje przy ręcznym wyborze profilu. Opcja ta jest dostępna dopiero po załadowaniu katalogu profili, ponieważ formularz składa się z trzech pól wyboru, a nie z pojedynczego pola ID.

Profil to jedyna wartość wskazująca, że request, który zadziałał, różnił się od wpisanego przez Ciebie: Proxy zgłasza profile tylko wtedy, gdy nastąpiło przejście na inną rodzinę przeglądarek niż żądana. Jeśli wykonasz replay bez niego, powtórzysz wersję, która zakończyła się niepowodzeniem. Zobacz Dlaczego żądanie Proxy wyczerpało limit prób.

Rozwiń do pełnego ekranu

Ikona rozwijania na pasku narzędzi odpowiedzi przenosi kartę odpowiedzi z widoku dzielonego do nakładki pełnoekranowej. Używaj jej do głębokich struktur JSON, długich zrzutów Set-Cookie lub szerokiej zawartości HTML, gdzie kolumna o połowie szerokości jest zbyt ciasna. Przewijanie samej strony jest blokowane, gdy nakładka pozostaje otwarta. Kliknij ikonę ponownie (lub naciśnij Escape), aby ją zwinąć.

Narzędzie reprodukcji curl

Na karcie Raw żądania, pod kodem JSON, blok curl wyświetla dokładny odpowiednik budowanego żądania w wierszu poleceń wraz z przyciskiem Copy curl. Skopiuj go, aby odtworzyć request z poziomu terminala, udostępnić go członkowi zespołu lub wkleić do zgłoszenia błędu.

W przypadku kluczy z możliwością odkrycia przycisk Reveal key obok fragmentu kodu wstawia rzeczywisty klucz w postaci zwykłego tekstu bezpośrednio do polecenia curl, co pozwala na skopiowanie i natychmiastowe uruchomienie. Kliknij ponownie, aby ukryć. Starsze klucze (utworzone przed wdrożeniem funkcji odkrywania) zachowują placeholder PASTE_PLAINTEXT_FOR_<key-name>; wygeneruj klucz ponownie na stronie API Keys, aby umożliwić jego odkrywanie.

Każde odkrycie klucza jest rejestrowane w dzienniku audytu na serwerze, a sam klucz w postaci jawnej istnieje w pamięci wyłącznie podczas bieżącej sesji strony.

Zapisywanie presetów

Jeśli wielokrotnie konfigurujesz ten sam cel, zapisz go. Kliknij Save w wierszu kart żądania, aby zapisać bieżącą konfigurację jako nazwany preset.

Otwórz Saved na pasku narzędzi, aby przejrzeć swoje presety. Kliknij Load, aby wypełnić formularz, lub Delete, aby usunąć wybrany.

Żądanie otwarte z karty DevTools rozszerzenia Chrome FourA ładuje się z wybranym kluczem rozszerzenia, o ile klucz ten znajduje się na Twoim koncie, o czym informuje komunikat na stronie. W przeciwnym razie pojawi się prośba o wybranie klucza. Ponownie odtworzone żądanie, które nie ustawia unblocker, uruchamia się z włączoną tą opcją, podobnie jak robi to API.

Pole presetu Co przechowuje
Name Krótka etykieta (do 100 znaków)
Description Opcjonalne notatki (do 500 znaków)
Endpoint Silnik przeznaczony dla presetu (auto / single / proxy / browser)
Config Pełny payload żądania, w tym pola interfejsu, nagłówki, pliki cookie i treść (body)

Presety są przypisane do Twojego konta użytkownika i nie są współdzielone z członkami zespołu.

Odtwarzanie z historii

Każde uruchomione żądanie jest rejestrowane. Otwórz History na pasku narzędzi, aby zobaczyć ostatnie 20 uruchomień, posortowanych od najnowszych.

Każdy wiersz zawiera endpoint, docelowy URL, status oraz czas. Kliknij Replay w dowolnym wierszu, aby załadować to żądanie z powrotem do formularza, a następnie Send, aby uruchomić je ponownie.

Historia jest automatycznie ograniczona do Twojego konta: widzisz tylko własne uruchomienia.

Otwieranie z poziomu aktywności

Okno szczegółów Activity Log zawiera przycisk Open in Playground. Kliknij go, a Playground załaduje zarówno zarchiwizowane żądanie, jak i zarchiwizowaną odpowiedź. Formularz wypełni się danymi z zapisanego payloadu, a karta odpowiedzi pokaże zawartość zwróconą w tamtym momencie przez API wraz z plakietką "archived" na pasku metadanych proxy ("archived

W tym miejscu możesz zmienić parametr i kliknąć Send, aby wysłać nowe żądanie do produkcyjnego API, lub po prostu przejrzeć zarchiwizowany payload bez ponownego uruchamiania. Dane payload są przechowywane przez 24 godziny, więc starsze wiersze w Activity nie będą miały odpowiedzi możliwej do ponownego załadowania.

Wskazówki

  • Zacznij w Playground przed napisaniem kodu dla nowego celu. Przy włączonym trybie Auto w kilka sekund dowiesz się, czy wystarczy tani fetch, czy strona wymusza renderowanie w przeglądarce.
  • W przypadku celów z blokadą regionalną wykonaj jedno wywołanie Proxy z ustawionym exitCountries, a następnie przekaż zwrócone proxy ID do wywołania Browser, aby renderowanie JavaScript odbywało się przez ten sam węzeł wyjściowy.
  • Zapisuj presety dla każdego regularnie scrapowanego celu. Ponowne uruchomienie zapisanego presetu zajmuje jedno kliknięcie; odtwarzanie żądania z pamięci trwa dłużej.
  • Użyj zakładki Cookies do debugowania scrapowania opartego na sesjach. Widok surowych nagłówków Set-Cookie pokazuje dokładnie to, co odesłał cel.
  • Gdy cel odrzuca żądania, wypróbuj inną pozycję w profilach przeglądarki przed sięgnięciem po cięższy silnik. Zmiana profilu przeglądarki jest darmowa, natomiast pełny render już nie.
  • Żądania w Playground są rozliczane z wybranego klucza. Użyj dedykowanego klucza z niskim limitem do swobodnych testów, aby zachować przejrzystość zużycia produkcyjnego.

Powiązane

Aktualizacja: 30 września 2026