Playground

Playground (странична лента > Playground) ви позволява да изпълнявате реални API заявки с вашия ключ, без да пишете код. Това е най-бързият начин да тествате нов целеви сайт, да дебъгнете труден response или да сравните Auto, Single, Proxy и Browser паралелно.

Отворете го на foura.ai/dashboard#playground.

Какво прави

Един формуляр. Четири енджина. Реален трафик.

  • Auto: интелигентно извличане. Подавате URL плюс validate правило и FourA избира най-евтиния работещ път.
  • Single: директно HTTP извличане с реалистични мрежови характеристики, наподобяващи браузър
  • Proxy: управлявано извличане с ротиращи проксита, с опция за ограничаване по видими за целта държави
  • Browser: отваря URL адреса в инстанция на браузъра Chrome за сайтове с JS рендиране

Заявките се изпълняват спрямо избрания от вас API ключ в горната част на страницата. Потреблението се отчита към квотата на този ключ точно както при продукционно извикване, така че внимавайте да не изчерпите плана си по време на тестове.

Избор на ключ

Падащото меню за API ключ показва всички активни ключове, които можете да използвате: вашите собствени в My Keys, следвани от група за всяка организация, в която членувате. Всеки член може да изпълнява заявки с ключ на организацията, като заявката се таксува към плана на собственика на организацията. Изберете този, към когото искате да се отчете заявката. Ако все още нямате активни ключове, съобщение на екрана ви препраща към страницата API Keys, за да създадете такъв.

Избор на режим

Горен ред Mode превключва между Auto и ръчните енджини. Когато е избран Auto, формулярът преминава към минималния Auto интерфейс (URL плюс validate плюс няколко настройки). И двата реда се показват винаги: Mode: Auto и Product: Single, Proxy, Browser. Изборът на един деселектира другия. Смяната на продуктите променя видимите полета и енджина, който приема заявката. Текущият избор се запазва при презареждане на страницата.

Режим Кога да се използва
Auto Нов целеви сайт или такъв със смесена защита. Auto избира най-евтиния път и запомня работещите решения.
Single Бързо HTTP извличане. Най-добрият първи избор за познат хост.
Proxy Същото извличане с автоматична ротация на проксита. Задайте exitCountries, когато ви е необходима конкретна видима за целта държава.
Browser Зарежда страницата в Chrome браузърна инстанция. Използвайте, когато данните се появяват само след изпълнение на JavaScript.

Изграждане на заявката

Ред за URL

Горният ред съдържа HTTP метода (GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS), целевия URL и бутона Send. Single, Proxy и Auto поддържат всеки метод. Browser игнорира метода (Chrome винаги изпраща GET при навигация) и тялото (body).

Табове за заявката

Под реда за URL пет таба ви позволяват да попълните всичко останало:

Tab Какво контролира
UI Полета на формуляра за timeouts, redirects, flags, proxy, специфични за browser опции и правила за validate
Body Тяло в свободен формат за POST / PUT / PATCH заявки
Headers Персонализирани request headers като двойки ключ-стойност
Cookies Cookies, които да се изпратят със заявката
Raw Точният JSON payload, който ще бъде изпратен, като предварителен преглед само за четене с Copy JSON, и curl кодът за възпроизвеждане под него

Всичко, което промените в UI / Body / Headers / Cookies, се отразява в Raw. Не можете да пишете директно в Raw: променете заявката от другите раздели. Червена точка се появява на всеки таб или сгъваема секция, която съдържа стойност, различна от стойностите по подразбиране на engine, за да видите с един поглед какво сте персонализирали.

Секции на UI панела

Табът UI групира настройките в сгъваеми секции. Празните полета се връщат към стойността по подразбиране от схемата на engine. Секциите, които не са приложими за текущия Mode, са скрити.

  • Timeouts: timeout_ms, connect_timeout_ms, accept_timeout_ms, server_response_timeout_ms, dns_cache_timeout_sec. Auto показва само timeout_ms (общия бюджет).
  • Redirects: превключване и задаване на followRedirects (0-20). Single и Proxy. Browser следва пренасочванията самостоятелно.
  • Flags: unblocker за Single, Proxy и Browser (unblocker при Browser завършва проверките, изисквани от страницата); tryJsonData и returnBuffer за Single и Proxy. Auto показва forceProxy и returnSession вместо това.
  • Proxy: изберете конкретен proxy ID за Single или Browser, или задайте maxTries, външния timeout за Proxy, exitCountries, exitClass и ignoreProxies за Proxy engine. Auto показва също и ignoreProxies. Падащото меню exitClass има три състояния: непосочено не изпраща никакво поле, standard указва, че заявката никога не трябва да се ескалира, а premium позволява ескалиране към premium изход, когато стандартният пул се затруднява. Непосочено и standard са различни заявки, затова оставете менюто празно, освен ако не искате точно едно от двете. Premium изисква план, който включва premium изходи: вижте exitClass.
  • Browser profile: три каскадни падащи менюта, os, browser и version, изброяващи какво FourA реално може да представи. Те се показват в режими Single и Proxy. Оставете ги празни за най-новия Chrome. Всяко меню стеснява останалите две, така че комбинация, която не съответства на нищо, никога не се появява. Секцията изисква unblocker да бъде включено: при изключено положение не се изпращат browser headers, профилът би се приложил само частично и API отхвърля заявката.
  • Browser: опции само за browser като checkStatus и checkText.
  • Validate: status accept и status fail приемат разделени със запетая статус кодове (validate.status), а body accept и body fail приемат поднизове с алтернативи, разделени с | (validate.data). Налично за Single, Proxy и Auto. Browser използва checkStatus и checkText вместо това. Формулярът няма поле за правила за header (validate.headers).

След като изпълнението върне работещо proxy, в края на раздела на UI се появява секция Working proxies. Тя съдържа до 20 proxy ID, като най-новите са първи, всяко с изходната си държава и време. use поставя дадено proxy в полето proxy в Single или Browser (Proxy engine намира свое собствено), а × го премахва от списъка.

Exit Country Scoping (Proxy Mode)

Полето exitCountries в Proxy приема списък, разделен със запетаи, от двубуквени кодове на държави, видими за целевия сайт (CZ, GB). Стойностите се изчистват от интервали, преобразуват се в главни букви и се дедуплицират при изпращане. Изборът е строг списък с разрешени (allowlist): proxies с неизвестен изход се изключват и заявката никога не се пренасочва към друга държава. Ако в текущия пул няма съвпадение, отговорът връща code: "no_eligible_proxy" със заявения обхват, повторен във details.exitCountries. Запазете обхвата и опитайте отново по-късно.

Когато повикването през proxy успее при зададен обхват, лентата с отговора показва exit <CODE> до proxy ID, за да можете да проверите дали обслужената държава съответства на поисканата.

Toolbar Reset

Бутонът Reset в лентата с инструменти (до History и Saved) изчиства playground до начално състояние. Тъй като действието е деструктивно, то отваря диалогов прозорец за потвърждение, който изброява точно какво ще бъде изтрито: и трите продуктови форми (Single, Proxy, Browser), всички запазени cookies в контейнера, всички прехвърлени proxies и текущият отговор. Запазените шаблони и избраният API key се запазват. Кликнете върху Reset everything за потвърждение; всяко друго действие отменя операцията.

Sending and Canceling

Кликнете върху Send, за да изпратите заявката. Дясната колона преминава в състояние на зареждане със spinner и бутон Cancel, докато повикването се изпълнява. Кликнете върху Cancel (или натиснете бутона отново на мобилно устройство), за да прекъснете. Отменената заявка възстановява празното състояние с текст "Request canceled." вместо да визуализира грешка.

Картата с отговора се превключва към резултата в момента, в който заявката завърши (или се провали). Автоматичните изпълнения могат да отнемат повече време от ръчните engine режими, тъй като стълбицата може да премине през няколко нива при студен целеви адрес.

Reading the Response

Колоната с отговора отразява оформлението на заявката със свои собствени раздели:

Tab What it shows
Body Анализирано тяло (parsed body). Превключва между изгледи за JSON, HTML и Text в зависимост от върнатото съдържание.
Headers Headers на отговора, по един на ред.
Cookies Cookies, върнати от целевия сайт, както в анализиран (групиран по хост), така и в суров вид (текст Set-Cookie). Анализираният изглед показва значка HO за host-only cookies; домейн cookies остават без обозначение.
Raw Пълният JSON плик (envelope), върнат от API.

Лентата с инструменти на отговора съдържа Copy и Download за целия отговор, както и Find in response (Ctrl+K или Cmd+K) за търсене в отворения раздел, с Enter и Shift+Enter за преминаване през съвпаденията. Body, Headers и Cookies разполагат и със свои собствени бутони Copy и Download само за съответния раздел.

Мета лента над табовете показва upstream HTTP статуса, общото време, ID на proxy, което е обработило заявката, и (при Proxy заявка с обхват) двубуквения exit <CODE>. При Auto изпълнения лентата показва също кое стъпало от стълбицата е върнало отговора, колко под-опита са направени и изразходените кредити.

Какво беше необходимо за заявката

Изречение под мета лентата описва текстово какво е обслужило страницата. При Auto изпълнение то посочва стъпалото (сесия, която FourA вече е имал за хоста, обикновен request, ротиращо proxy, реален browser или първо browser и след това евтино повторение), дали е решено предизвикателство, колко опита са били нужни и колко е струвало.

Когато някой от лимитите на плана ви откаже заявката, изречението първо посочва това: "Спряно от вашия план, а не от сайта", последвано от конкретния лимит (изчерпани browser заявки за деня, твърде много активни заявки в момента, изразходвани кредити за периода и т.н.) и връзка към Usage & Limits. Редът се генерира от кода X-FourA-Limit, върнат от API, така че при неуспешна трудна страница веднага се вижда дали сайтът я е спрял, или планът.

Пренасяне на стойности между изпълнения

След всяко изпълнение, което е върнало данни за сесия за многократна употреба, малък контрол Carry в лентата с инструменти на отговора показва какво е налично:

  • Auto изпълненията предлагат пълната тройка session (proxy, cookies, userAgent).
  • Browser изпълненията предлагат върнатия userAgent, плюс ID на proxy, ако е било използвано такова.
  • Proxy изпълненията предлагат върнатия ID на proxy, профила на browser, когато ротацията е избрала такъв, какъвто не сте заявили, и exitClass, който е обслужил заявката, за да може premium отговорът да бъде изпратен обратно директно.

Кликнете върху Carry и изберете с едно действие къде да се приложи всяка стойност: userAgent става User-Agent header в Single или Proxy, а ID на proxy се попълва в полето proxy в Single или Browser. Полетата, които получават пренесена стойност, показват червена точка за промяна, за да виждате какво е обновено.

Пренесен browser профил попълва трите падащи менюта за os, browser и version и активира unblocker, същото правило, което важи и при ръчен избор на профил. Той се предлага само след като каталогът с профили е зареден, тъй като формата съдържа три падащи менюта, а не едно поле за id.

Профилът е единствената стойност, която показва, че заявката, която е сработила, не е същата като въведената от вас: Proxy връща profile само когато е преминал към семейство browser, което не сте заявили. Повторете без него и ще повторите версията, която е пропаднала. Вижте Why a Proxy Request Ran Out of Tries.

Разгъване на цял екран

Иконата за разгъване в лентата с инструменти на отговора извежда картата с отговора от разделения изглед в овърлей на цял екран. Използвайте я за дълбоки JSON структури, дълги Set-Cookie логове или широки HTML тела, където колоната с половин ширина става тясна. Превъртането на самата страница спира, докато овърлеят е отворен. Кликнете върху иконата отново (или натиснете Escape), за да я свиете.

Инструментът за възпроизвеждане с curl

В раздела Raw на дадена request, под JSON съдържанието, cURL блок показва точния еквивалент на командния ред за заявката, която конфигурирате, заедно с бутон Copy curl. Копирайте го, за да възпроизведете заявката през терминал, да я споделите с колега или да я поставите в доклад за бъг.

За ключове с опция за показване, бутонът Reveal key до фрагмента вмъква реалния ключ в чист текст директно в cURL командата, за да можете да я копирате и изпълните веднага. Кликнете отново, за да го скриете. По-старите ключове (създадени преди въвеждането на тази функция) запазват плейсхолдъра PASTE_PLAINTEXT_FOR_<key-name>; генерирайте ключа отново от страницата API Keys, за да стане видим.

Всяко показване се записва в одитния лог на сървъра, а ключът в чист текст остава в паметта само за текущата сесия на страницата.

Запазване на шаблони (Presets)

Ако често се налага да конфигурирате една и съща целева заявка, запазете я. Кликнете върху Save в лентата с раздели на заявката, за да съхраните текущата конфигурация като именуван шаблон.

Отворете Saved в лентата с инструменти, за да прегледате вашите presets. Кликнете върху Load, за да попълните формата, или върху Delete, за да премахнете шаблон.

Request, отворена от раздела DevTools на разширението FourA за Chrome, се зарежда с избрания ключ на разширението, ако този ключ е наличен в акаунта ви, за което страницата уведомява. В противен случай ще трябва да изберете ключ. Повторно изпълнена заявка, която не задава unblocker, се изпълнява с включена опция, както работи самото API.

Поле на шаблона Какво съхранява
Name Кратък етикет (до 100 знака)
Description Бележки по избор (до 500 знака)
Endpoint За кой engine е предназначен шаблонът (auto / single / proxy / browser)
Config Пълният payload на заявката, включително UI полета, headers, cookies и body

Шаблоните са видими само за вашия потребителски акаунт и не се споделят с членове на екипа.

Повторно изпълнение от историята

Всяка заявка, която изпълнявате, се записва. Отворете History в лентата с инструменти, за да видите последните 20 изпълнения, подредени от най-новите към най-старите.

Всеки ред показва endpoint, целевия URL, status и времето. Кликнете върху Replay на даден ред, за да заредите съответната заявка обратно във формата, след което кликнете върху Send, за да я изпълните отново.

Историята е автоматично ограничена до вашия акаунт: виждате само собствените си изпълнения.

Отваряне от Activity

Диалоговият прозорец за детайли в Activity Log съдържа бутон Open in Playground. Кликнете върху него и Playground ще се зареди както с архивираната заявка, така и с архивирания response. Формата се попълва от запазения payload, а картата за отговор показва върнатите от API данни в този момент с етикет "archived" върху лентата с метаданни на проксито ("archived

Оттам можете да промените параметър и да кликнете върху Send, за да изпратите нова заявка към реалното API, или просто да прегледате архивирания payload, без да го изпълнявате повторно. Данните от заявките се пазят в рамките на 24 часа, така че по-старите редове в Activity няма да имат response, който може да се презареди.

Съвети

  • Започнете в Playground, преди да пишете код за нова цел. С включен Auto ще разберете за секунди дали евтин fetch е достатъчен, или сайтът налага browser solve.
  • За цели с географско ограничение изпълнете едно Proxy извикване с зададен exitCountries, след което прехвърлете върнатия proxy ID в Browser извикване, за да може JavaScript рендерирането да мине през същия изходен адрес.
  • Запазете preset за всяка цел, която извличате редовно. Повторното изпълнение на запазен preset става с едно кликване; възстановяването на заявката по памет отнема повече време.
  • Използвайте раздела Cookies, за да дебъгвате скрапване, базирано на сесии. Необработеният изглед на Set-Cookie показва точно какво е изпратила целта.
  • Когато дадена цел ви откаже достъп, опитайте друг запис в селектора за Browser профил, преди да преминете към по-тежък engine. Смяната на подавания браузър е безплатна; рендерирането с браузър не е.
  • Playground заявките се таксуват към ключа, който изберете. Използвайте отделен ключ с ниска квота за общи проучвания, ако искате да запазите продукционното потребление чисто.

Свързани

Обновено: 30 септември 2026 г.