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 заявките се таксуват към ключа, който изберете. Използвайте отделен ключ с ниска квота за общи проучвания, ако искате да запазите продукционното потребление чисто.
Свързани
- API Endpoints: Пълна справка за параметрите на четирите енджина, включително
exitCountriesи полетата за браузърен профил - Smart Fetch (Auto): Какво прави Auto под капака
- Избор на правилния endpoint: Кога да изберете Auto срещу Single срещу Proxy срещу Browser
- API ключове: Управление на ключовете, с които автентикирате Playground заявки
- Дневник на дейността (Activity Log): Отваряне на минала заявка директно в Playground
- Преглед на Dashboard: Всички раздели в страничната лента