Playground
Playground (pasek boczny > Playground) pozwala na uruchamianie żądań 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 Single, Proxy i Browser obok siebie.
Otwórz go pod adresem foura.ai/dashboard#playground.
Jak to działa
Jeden formularz. Trzy silniki. Rzeczywisty ruch.
- Single: bezpośrednie pobieranie HTTP z realistyczną charakterystyką sieciową przypominającą przeglądarkę
- Proxy: zarządzane, rotacyjne pobieranie przez proxy
- Browser: otwiera URL w instancji przeglądarki Chrome dla stron renderowanych przez JS
Żądania są uruchamiane przy użyciu klucza API wybranego na górze strony. Zużycie jest wliczane do limitu tego klucza w taki sam sposób, jak wywołanie produkcyjne, więc uważaj, aby nie wyczerpać pakietu podczas testów.
Wybór klucza
Rozwijana lista kluczy API pokazuje każdy aktywny klucz w Twoim zasięgu: klucze osobiste, klucze organizacji, którymi administrujesz, oraz klucze udostępnione zespołowi, do których masz dostęp. Wybierz ten, który ma zostać obciążony kosztami żądania. Jeśli nie masz jeszcze żadnych aktywnych kluczy, komunikat na stronie przekieruje Cię do sekcji API Keys, aby go utworzyć.
Wybór produktu
Nad formularzem znajdują się trzy zakładki: Single, Proxy, Browser. Przełączanie ich zmienia widoczne pola oraz silnik, do którego trafia żądanie. Bieżący wybór jest zachowywany po odświeżeniu strony.
| Produkt | Kiedy używać |
|---|---|
| Single | Szybkie pobieranie HTTP. Najlepszy pierwszy wybór dla każdego URL. |
| Proxy | To samo pobieranie z automatyczną rotacją proxy. Użyj, gdy Single jest stale blokowane. |
| Browser | Ładuje stronę w instancji przeglądarki Chrome. Użyj, gdy dane pojawiają się dopiero po uruchomieniu JavaScriptu. |
Budowanie żądania
Wiersz URL
Górny wiersz zawiera metodę HTTP (GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS), docelowy URL oraz przycisk Send. Single + Proxy obsługują każdą metodę. Browser ignoruje metodę (Chrome zawsze wykonuje GET podczas nawigacji) oraz body.
Zakładki żądania
Poniżej wiersza URL pięć zakładek pozwala uzupełnić pozostałe szczegóły:
| Zakładka | Co kontroluje |
|---|---|
| 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 wysyłane z żądaniem |
| Raw | Dokładny ładunek JSON, który zostanie wysłany, z możliwością bezpośredniej edycji |
Wszystkie zmiany wprowadzone w UI / Body / Headers / Cookies są odzwierciedlane w zakładce Raw. Edycja Raw również działa, a pozostałe zakładki aktualizują się automatycznie.
Sekcje panelu UI
Zakładka UI grupuje ustawienia w rozwijane sekcje. Puste pola przyjmują domyślne wartości schematu silnika.
- Timeouts:
timeout_ms,connect_timeout_ms,accept_timeout_ms,server_response_timeout_ms,dns_cache_timeout_sec - Redirects: przełącznik i ustawienie
followRedirects(0-20). Tylko Single + Proxy. Browser samodzielnie podąża za przekierowaniami. - Flags:
unblocker,tryJsonData,returnBuffer. Single + Proxy. - Proxy: wybierz konkretny identyfikator proxy dla Single lub Browser, albo ustaw
maxTries, zewnętrzny timeout Proxy orazignoreProxiesdla silnika Proxy. - Browser: opcje przeznaczone wyłącznie dla przeglądarki, takie jak
checkStatusicheckText. - Validate: reguły akceptacji/odrzucenia
validate.status(kody statusu),validate.headers(reguły klucz-wartość dla nagłówków) orazvalidate.data(podciągi akceptacji/błędu w body, alternatywy rozdzielone znakiem|).
Pola, które nie mają zastosowania do aktualnie wybranego produktu, są ukryte.
Resetowanie na pasku narzędzi
Przycisk Reset na pasku narzędzi (obok History) przywraca formularz aktywnego produktu do wartości domyślnych. Domyślnie włączone są opcje unblocker i tryJsonData, co odpowiada najczęstszemu punktowi startowemu. Użyj go, gdy konfiguracja znacznie odbiegła od działającej bazy i chcesz zacząć od nowa bez odświeżania strony.
Wysyłanie i anulowanie
Kliknij Send, aby wysłać żądanie. Prawa kolumna przejdzie w stan ładowania ze wskaźnikiem postępu i przyciskiem Cancel podczas wykonywania połączenia. Kliknij Cancel (lub naciśnij przycisk ponownie na urządzeniu mobilnym), aby przerwać. Anulowane żądanie przywraca domyślny stan oczekiwania z komunikatem "Request canceled." zamiast wyświetlać błąd.
Karta odpowiedzi przełącza się na wynik w momencie, gdy żądanie zostanie zakończone (lub zakończy się niepowodzeniem).
Odczytywanie odpowiedzi
Kolumna odpowiedzi odzwierciedla układ żądania i posiada własne zakładki:
| Zakładka | Co pokazuje |
|---|---|
| Body | Sparsowane body. Przełącza się między widokami JSON, HTML i Text w zależności od tego, co zostało zwrócone. |
| Headers | Nagłówki odpowiedzi, po jednym w wierszu. |
| Cookies | Pliki cookie zwrócone przez cel, zarówno w widoku sparsowanym (pogrupowane według hostów), jak i surowym (tekst Set-Cookie). Widok sparsowany pokazuje plakietkę HO przy plikach cookie typu host-only; pliki cookie domenowe są nieoznaczone. |
| Raw | Pełna koperta JSON zwrócona przez API. |
Pasek meta nad zakładkami pokazuje status HTTP serwera docelowego, całkowity czas oraz (dla żądań Proxy / single-with-proxy-id) identyfikator proxy, który obsłużył wywołanie. Przyciski kopiowania i pobierania znajdują się w prawym górnym rogu każdego panelu, dzięki czemu możesz pobrać body lub nagłówki do pliku jednym kliknięciem.
Rozwijanie do pełnego ekranu
Ikona rozwijania na pasku narzędzi odpowiedzi przenosi kartę odpowiedzi z układu dzielonego do pełnoekranowej nakładki. Używaj jej do głębokich drzew JSON, długich zrzutów Set-Cookie lub szerokich treści HTML, gdzie kolumna o połowie szerokości staje się zbyt ciasna. Sama strona przestaje się przewijać, gdy nakładka jest otwarta. Kliknij ikonę ponownie (oraz naciśnij Escape), aby ją zwinąć.
Generator poleceń curl
Poniżej odpowiedzi blok curl pokazuje dokładny odpowiednik wiersza poleceń dla żądania, które właśnie zbudowałeś. Skopiuj go, aby odtworzyć żądanie w terminalu, udostępnić je 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 czystego tekstu bezpośrednio do polecenia curl, dzięki czemu możesz je skopiować i uruchomić bez zmian. Kliknij ponownie, aby go ukryć. Starsze klucze (utworzone przed wdrożeniem funkcji odkrywania) zachowują symbol zastępczy PASTE_PLAINTEXT_FOR_<key-name>; wygeneruj klucz ponownie na stronie API Keys, aby umożliwić jego odkrywanie.
Odkrycie klucza jest za każdym razem rejestrowane w dzienniku audytu na serwerze, a jawny klucz istnieje w pamięci tylko na czas bieżącej sesji strony.
Zapisywanie presetów
Jeśli wielokrotnie konfigurujesz ten sam cel, zapisz go. Kliknij Save w wierszu zakładek żądania, aby zapisać bieżącą konfigurację jako nazwany preset.
Otwórz Saved na pasku narzędzi, aby przeglądać, zmieniać nazwy lub usuwać swoje presety. Kliknij dowolny preset, aby załadować go z powrotem do formularza.
| Pole presetu | Co przechowuje |
|---|---|
| Name | Krótka etykieta (do 100 znaków) |
| Description | Opcjonalne notatki (do 500 znaków) |
| Endpoint | Dla którego produktu przeznaczony jest preset (single / proxy / browser) |
| Config | Pełny ładunek żądania, w tym pola UI, nagłówki, pliki cookie i body |
Presety są przypisane do Twojego konta użytkownika i nie są udostępniane 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 Send, aby uruchomić je ponownie.
Historia jest automatycznie przypisana do Twojego konta: widzisz tylko własne uruchomienia.
Otwieranie z 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 zostanie wypełniony na podstawie zapisanego ładunku, a karta odpowiedzi pokaże, co API zwróciło w tamtym momencie, wraz z plakietką "archived" na pasku meta proxy ("archived
Stamtąd możesz zmienić parametr i kliknąć Send, aby uruchomić nowe żądanie do działającego API, lub po prostu sprawdzić zarchiwizowany ładunek bez ponownego uruchamiania. Ładunki są przechowywane przez 24 godziny, więc starsze wiersze aktywności nie będą miały odpowiedzi, którą można ponownie załadować.
Wskazówki
- Zacznij od Playground przed napisaniem kodu dla nowego celu. W kilka sekund dowiesz się, czy Single wystarczy, czy potrzebujesz Browser.
- Zapisz preset dla każdego celu, który regularnie scrapujesz. Odtworzenie zapisanego presetu to jedno kliknięcie; odtwarzanie żądania z pamięci zajmuje więcej czasu.
- Użyj zakładki Cookies do debugowania scrapowania opartego na sesji. Surowy widok Set-Cookie pokazuje dokładnie, co wysłał cel.
- Żądania z Playground są rozliczane na poczet wybranego klucza. Użyj dedykowanego klucza z niskim limitem do swobodnej eksploracji, jeśli chcesz zachować czystość zużycia produkcyjnego.
Powiązane
- API Endpoints: Pełna dokumentacja parametrów dla wszystkich trzech produktów
- Choosing the Right Endpoint: Kiedy wybrać Single, Proxy lub Browser
- API Keys: Zarządzaj kluczami, którymi uwierzytelniasz żądania w Playground
- Activity Log: Otwórz poprzednie żądanie bezpośrednio w Playground
- Dashboard Overview: Wszystkie sekcje paska bocznego