Playground
Playground (pasek boczny > Playground) pozwala uruchamiać na żywo requesty API z użyciem 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. Przekazujesz URL oraz regułę
validate, a FourA wybiera najtańszą działającą ścieżkę. - Single: bezpośrednie pobieranie HTTP z realistyczną charakterystyką sieciową podobną do przeglądarki
- Proxy: pobieranie przez zarządzane rotacyjne proxy, opcjonalnie ograniczone do krajów widocznych dla celu
- Browser: otwiera URL w instancji przeglądarki Chrome dla stron renderowanych przez JS
Requesty działają z kluczem API, który wybierzesz na górze strony. Zużycie obciąża limit tego klucza w taki sam sposób jak wywołania produkcyjne, więc uważaj, aby nie wyczerpać swojego planu podczas testowania.
Wybór klucza
Lista rozwijana kluczy API pokazuje każdy aktywny klucz w twoim zakresie: klucze osobiste, klucze organizacji, którymi zarządzasz, oraz współdzielone klucze zespołu, do których masz dostęp. Wybierz ten, który ma zostać obciążony kosztami za dany request. Jeśli nie masz jeszcze aktywnych kluczy, wbudowany komunikat przekieruje cię na stronę API Keys, aby go utworzyć.
Wybór trybu
Górny wiersz Mode przełącza pomiędzy trybem Auto a silnikami ręcznymi. Po wybraniu Auto formularz przełącza się na minimalny interfejs Auto (URL plus validate i kilka opcji). Po wyłączeniu trybu Auto pojawiają się trzy przyciski: Single, Proxy, Browser. Przełączanie przycisków zmienia widoczność pól oraz silnik, do którego trafia request. Bieżący wybór jest zachowywany po przeładowaniu strony.
| Mode | Kiedy używać |
|---|---|
| Auto | Nowy cel lub strona z mieszaną ochroną. Auto wybiera najtańszą ścieżkę i zapamiętuje, co działa. |
| Single | Szybkie pobieranie HTTP. Najlepszy pierwszy wybór dla znanego hosta. |
| Proxy | To samo pobieranie z automatyczną rotacją proxy. Ustaw exitCountries, gdy potrzebujesz kraju widocznego dla celu. |
| Browser | Ładuje stronę w instancji przeglądarki Chrome. Używaj, gdy dane pojawiają się dopiero po wykonaniu kodu JavaScript. |
Budowanie requestu
Wiersz URL
Górny wiersz zawiera metodę HTTP (GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS), docelowy URL oraz przycisk Send. Single, Proxy i Auto respektują każdą metodę. Browser ignoruje metodę (Chrome zawsze wysyła GET do nawigacji) oraz body.
Zakładki requestu
Poniżej wiersza URL znajduje się pięć zakładek pozwalających uzupełnić całą resztę:
| Tab | Co kontroluje |
|---|---|
| UI | Pola formularza dla limitów czasu, przekierowań, flag, proxy, opcji specyficznych dla przeglądarki i reguł walidacji |
| Body | Dowolne body dla requestów POST / PUT / PATCH |
| Headers | Niestandardowe nagłówki requestu jako pary klucz-wartość |
| Cookies | Cookies do wysłania z requestem |
| Raw | Dokładny ładunek JSON, który zostanie wysłany, edytowalny bezpośrednio |
Cokolwiek zmienisz w UI / Body / Headers / Cookies jest odzwierciedlane w Raw. Edycja Raw również działa, a pozostałe zakładki aktualizują się, aby pasowały. Czerwona kropka pojawia się na każdej zakładce lub zwijanej sekcji, która zawiera wartość różną od domyślnych wartości silnika, dzięki czemu możesz na pierwszy rzut oka zobaczyć, co zostało dostosowane.
Sekcje panelu UI
Zakładka UI grupuje ustawienia w zwijane sekcje. Puste pola wracają do domyślnych wartości 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. Auto udostępnia tylkotimeout_ms(całkowity budżet). - Redirects: przełącznik i ustawienie
followRedirects(0-20). Single, Proxy, Auto. Przeglądarka samodzielnie podąża za przekierowaniami. - Flags:
unblockerdla Single, Proxy i Browser (unblocker na Browser uruchamia automatyczne rozwiązywanie zabezpieczeń);tryJsonDataireturnBufferdla Single i Proxy. Auto udostępnia zamiast tegoforceProxyireturnSession. - Proxy: wybierz konkretny identyfikator proxy dla Single lub Browser, albo ustaw
maxTries, zewnętrzny timeout Proxy,exitCountriesiignoreProxiesdla silnika Proxy. Auto udostępnia równieżignoreProxies. - Browser profile: trzy kaskadowe listy rozwijane, os, browser i version, wymieniające to, co FourA faktycznie może zaprezentować. Pojawiają się w trybie Single i Proxy. Pozostaw je puste, aby uzyskać najnowsze Chrome. Każdy wybór zawęża pozostałe dwa, więc kombinacja, która nie daje żadnych wyników, nigdy się nie pojawia. Sekcja wymaga włączonego Web Unblocker: przy wyłączonym nie są wysyłane żadne nagłówki przeglądarki, profil miałby zastosowanie tylko w połowie, a API odrzuca request.
- Browser: opcje dostępne tylko w przeglądarce, takie jak
checkStatusicheckText. - Validate: reguły accept / fail dla
validate.status(kody statusu),validate.headers(reguły klucz-wartość nagłówka) orazvalidate.data(podciągi accept / fail w body, alternatywy oddzielone|). Dostępne dla każdego trybu, w tym Auto.
Ograniczenie kraju wyjściowego (tryb Proxy)
Pole exitCountries w Proxy przyjmuje oddzieloną przecinkami listę dwuliterowych, widocznych dla celu kodów krajów (CZ, GB). Wartości są przycinane, zmieniane na wielkie litery i deduplikowane po przesłaniu. Wybór to ścisła allowlista: proxy z nieznanymi punktami wyjścia są wykluczone, a request nigdy nie powraca do innego kraju. Jeśli w bieżącej puli nie ma dopasowania, response zwraca code: "no_eligible_proxy" z żądanym zakresem odesłanym w details.exitCountries. Zachowaj zakres i ponów próbę później.
Gdy wywołanie proxy powiedzie się w ramach ograniczenia, pasek response pokazuje exit <CODE> obok identyfikatora proxy, dzięki czemu możesz sprawdzić, czy obsłużony kraj odpowiada temu, o co prosiłeś.
Reset paska narzędzi
Przycisk Reset na pasku narzędzi (obok History i Saved) czyści plac zabaw do stanu początkowego. Ponieważ jest to działanie destrukcyjne, otwiera okno dialogowe potwierdzenia, w którym dokładnie wymieniono, co zostanie usunięte: wszystkie trzy formularze produktów (Single, Proxy, Browser), zapisane w słoiku pliki cookie, przeniesione proxy i bieżąca odpowiedź. Zapisane ustawienia wstępne i wybrany klucz API są zachowywane. Kliknij Reset everything, aby potwierdzić; cokolwiek innego anuluje.
Wysyłanie i anulowanie
Kliknij Send, aby wysłać żądanie. Prawa kolumna zmienia się w stan ładowania ze wskaźnikiem i przyciskiem Cancel, gdy wywołanie jest w toku. Kliknij Cancel (lub ponownie naciśnij przycisk na telefonie komórkowym), aby przerwać. Anulowane żądanie przywraca pusty element zastępczy z komunikatem "Request canceled." zamiast renderować błąd.
Karta odpowiedzi przełącza się na wynik w momencie zakończenia (lub niepowodzenia) żądania. Przebiegi Auto mogą trwać dłużej niż ręczne mechanizmy, ponieważ drabina może pokonać kilka szczebli na zimnym celu.
Odczytywanie odpowiedzi
Kolumna odpowiedzi odzwierciedla układ żądania za pomocą własnych zakładek:
| Zakładka | Co pokazuje |
|---|---|
| Body | Przetworzone ciało. Przełącza się między widokami JSON, HTML i Text w zależności od tego, co wróciło. |
| Headers | Nagłówki odpowiedzi, po jednym w wierszu. |
| Cookies | Pliki cookie zwrócone przez cel, zarówno w widoku przetworzonym (pogrupowane według hosta), jak i surowym (tekst Set-Cookie). Widok przetworzony pokazuje plakietkę HO na plikach cookie tylko dla hosta; pliki cookie domeny nie są oznaczone. |
| Raw | Pełna koperta JSON zwrócona przez API. |
Pasek meta nad zakładkami pokazuje docelowy status HTTP, całkowity czas, identyfikator proxy, który obsłużył wywołanie, i (w przypadku wywołania z zakresem Proxy) dwuliterowy exit <CODE>. W przypadku przebiegów Auto pasek pokazuje również, który szczebel drabiny dostarczył odpowiedź, ile podprób wykonano i ile kredytów wydano.
Przenoszenie wartości między przebiegami
Po dowolnym przebiegu, który zwrócił dane sesji wielokrotnego użytku, mała kontrolka Carry na pasku narzędzi odpowiedzi pokazuje, co jest dostępne:
- Przebiegi Auto oferują pełną trójkę
session(proxy,cookies,userAgent). - Przebiegi Browser oferują odpowiedź
userAgentplus identyfikator proxy, jeśli został użyty. - Przebiegi Proxy oferują zwrócony identyfikator proxy.
Kliknij Carry i wybierz jednym kliknięciem, gdzie zastosować każdą wartość: userAgent staje się nagłówkiem User-Agent w Single lub Proxy, a identyfikator proxy trafia do pola proxy w Single lub Browser. Pola, które otrzymują przeniesioną wartość, pokazują czerwoną kropkę "zmodyfikowano", dzięki czemu można zobaczyć, co się zmieniło.
Rozwiń do pełnego ekranu
Ikona rozwijania na pasku narzędzi odpowiedzi przenosi kartę odpowiedzi z układu podzielonego na pełnoekranową nakładkę. Użyj jej w przypadku głębokich drzew JSON, długich zrzutów Set-Cookie lub szerokich ciał HTML, w których kolumna o połowie szerokości staje się ciasna. Sama strona przestaje się przewijać, gdy nakładka jest otwarta. Kliknij ikonę ponownie (lub naciśnij Escape), aby zwinąć.
Reproduktor curl
Poniżej odpowiedzi znajduje się blok z poleceniem curl, który pokazuje dokładny odpowiednik z linii komend utworzonego właśnie żądania. Skopiuj go, aby odtworzyć żądanie z poziomu terminala, podzielić się nim z zespołem lub wkleić do zgłoszenia błędu.
W przypadku kluczy z możliwością odkrycia, przycisk Reveal key obok fragmentu wstawia prawdziwy klucz w postaci czystego tekstu bezpośrednio do polecenia curl, co pozwala na jego skopiowanie i uruchomienie bez zmian. Kliknij ponownie, aby go ukryć. Starsze klucze (utworzone przed wprowadzeniem tej funkcji) zachowują placeholder PASTE_PLAINTEXT_FOR_<key-name>; wygeneruj klucz ponownie na stronie API Keys, aby móc go odkryć.
Każde odkrycie jest zapisywane w logach audytu na serwerze, a sam klucz w postaci czystego tekstu znajduje się tylko w pamięci przez czas trwania bieżącej sesji na stronie.
Zapisywanie ustawień
Jeśli wielokrotnie konfigurujesz ten sam cel, zapisz go. Kliknij Save w wierszu zakładek żądania, aby zachować obecną konfigurację jako nazwane ustawienie (preset).
Otwórz Saved na pasku narzędzi, aby przeglądać, zmieniać nazwy lub usuwać zapisane ustawienia. Kliknij dowolne ustawienie, aby wczytać je ponownie do formularza.
| Pole ustawienia | Co przechowuje |
|---|---|
| Name | Krótka etykieta (do 100 znaków) |
| Description | Opcjonalne notatki (do 500 znaków) |
| Endpoint | Do jakiego silnika przeznaczone jest ustawienie (auto / single / proxy / browser) |
| Config | Pełny payload żądania, włączając pola UI, nagłówki (headers), cookies i body |
Ustawienia są przypisane do Twojego konta użytkownika i nie są udostępniane innym członkom zespołu.
Odtwarzanie z historii
Każde uruchomione żądanie jest rejestrowane. Otwórz History na pasku narzędzi, aby zobaczyć swoje ostatnie 20 uruchomień, posortowanych od najnowszych.
Każdy wiersz pokazuje endpoint, docelowy URL, status i czas. Kliknij Replay w dowolnym wierszu, aby załadować to żądanie z powrotem do formularza, a następnie kliknij Send, aby uruchomić je ponownie.
Historia jest automatycznie przypisana do Twojego konta, więc widzisz tylko swoje własne uruchomienia.
Otwieranie z poziomu Aktywności
Okno dialogowe szczegółów Activity Log zawiera przycisk Open in Playground. Kliknij go, a narzędzie Playground wczyta się wraz ze zarchiwizowanym żądaniem i zarchiwizowaną odpowiedzią (response). Formularz wypełnia się z zapisanego payloadu, a karta odpowiedzi pokazuje to, co API zwróciło w tamtym momencie z etykietą "archived" na pasku proxy meta ("archived
Z tego poziomu możesz zmienić parametr i kliknąć Send, aby uruchomić nowe żądanie wobec działającego API, lub po prostu przejrzeć zarchiwizowany payload bez jego ponownego uruchamiania. Payloady są przechowywane przez 24 godziny, więc starsze wpisy w sekcji Activity nie będą miały odpowiedzi możliwej do ponownego wczytania.
Porady
- Rozpocznij w Playground przed napisaniem kodu pod nowy cel. Z włączonym Auto dowiesz się w kilka sekund, czy tanie pobranie wystarczy, czy też strona wymusza rozwiązanie w przeglądarce.
- Dla celów zablokowanych regionalnie uruchom jedno wywołanie Proxy z ustawionym
exitCountries, a następnie przekaż zwrócony identyfikator proxy do wywołania Browser, aby renderowanie JavaScript odbywało się przez to samo wyjście. - Zapisz preset dla każdego celu, który regularnie scrapujesz. Odtworzenie zapisanego presetu wymaga jednego kliknięcia; rekonstrukcja żądania z pamięci zajmuje więcej czasu.
- Użyj zakładki Cookies, aby debugować scrapowanie oparte na sesji. Surowy widok Set-Cookie pokazuje dokładnie, co wysłał cel.
- Gdy cel Cię odrzuci, wypróbuj inną pozycję w wyborze profilu Browser przed sięgnięciem po cięższy silnik. Zmiana prezentowanej przeglądarki jest darmowa; renderowanie przeglądarki nie jest.
- Żądania w Playground są rozliczane z klucza, który wybierzesz. Użyj dedykowanego klucza z niskim limitem do okazjonalnej eksploracji, jeśli chcesz zachować czyste użycie produkcyjne.
Powiązane
- Endpointy API: Pełne odniesienie do parametrów dla wszystkich czterech silników, w tym
exitCountriesi pól profilu przeglądarki - Smart Fetch (Auto): Co Auto robi pod spodem
- Wybór właściwego Endpointu: Kiedy wybrać Auto, Single, Proxy lub Browser
- Klucze API: Zarządzaj kluczami, za pomocą których uwierzytelniasz żądania Playground
- Dziennik Aktywności: Otwórz poprzednie żądanie prosto do Playground
- Przegląd Dashboardu: Wszystkie sekcje paska bocznego