Обработка на Anti-Bot защита
Модерните уебсайтове използват усъвършенствано засичане на ботове. Това ръководство обяснява как FourA се справя с anti-bot системите и как да максимизирате успеваемостта си.
Как работи засичането на ботове
Уебсайтовете използват няколко слоя на защита:
- IP reputation: Дата центрове и известни proxy адреси биват блокирани
- Wire fingerprinting: Всеки HTTP клиент има уникален handshake подпис, който сайтовете могат да засекат
- Browser fingerprinting: JavaScript проверява за индикатори на headless браузър
- Поведенчески анализ: Модели на request, времеви интервали и навигационен поток
- CAPTCHAs: Визуални проверки като последна линия на защита
Често срещани anti-bot доставчици включват Cloudflare, DataDome, PerimeterX и Akamai Bot Manager.
Най-бърз път: Auto
Ако все още не знаете нивото на защита, извикайте /api/auto/ с validate.data.accept подниз, който само реалната страница съдържа. Auto преминава през съобразена с разходите стълбица (евтина проба, ротирано proxy, рендиране в браузър, браузър през proxy) и спира на първото стъпало, което връща response, приет от вашите правила. При повторни извиквания към същия хост, вместо това се възпроизвежда топла сесия, така че второто извикване е евтино.
curl -X POST https://eu.api.foura.ai/api/auto/ \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://protected-site.com/product/42",
"validate": {"data": {"accept": ["Add to cart"]}}
}'
Без validate.data.accept, auto не може да различи истински 200 от challenge страница, върната със статус 200, и може да върне challenge като успех. Вижте ръководството за Smart Fetch за пълно описание.
Как FourA помага на всеки слой
Реалистични заявки на мрежово ниво
Единичният endpoint (POST /api/single/) излъчва handshake характеристики, които съвпадат с реален браузър. Това преминава най-често срещаните проверки на мрежово ниво без натоварването от стартиране на пълен браузър.
Активирайте unblocker, за да инжектирате също реалистични браузърни header-и (User-Agent, Sec-Ch-Ua, Sec-Fetch-*, Accept-Encoding). unblocker е включено по подразбиране; задайте false, само за да изпратите обикновен клиентски подпис.
{
"method": "GET",
"url": "https://protected-site.com/data",
"unblocker": true
}
Рендериране с реален браузър
Endpoint-ът за браузър (POST /api/browser/) изпълнява пълна инстанция на Chrome. В комбинация с anti-detection пачове, той преминава повечето базирани на JavaScript проверки на отпечатъци (fingerprint). unblocker за браузър активира автоматичния инструмент за преодоляване на защити (преминаване на Turnstile и подобни прегради); оставете го включено, освен ако не искате да получите обратно суровата страница с предизвикателството (challenge page).
Ротация на proxy
Proxy endpoint-ът (POST /api/proxy/) автоматично превключва между residential и data center проксита. Ако дадено IP бъде блокирано, следващият опит използва различно. Използвайте ignoreProxies при последващо извикване, за да пропуснете изходи, които вече сте изчерпали; използвайте maxTries (по подразбиране 5, максимум 90), за да контролирате колко интензивно работи.
Изходи, ограничени по държава
Подайте exitCountries в /api/proxy/, за да ограничите избора до проксита, чиято видима за целта държава съвпада със строг списък с позволени (allowlist). Стойностите са двубуквени кодове (["CZ", "GB"]), изчистени от интервали, с главни букви и дедуплицирани. FourA никога не преминава към неизискана държава; ако в текущия пул няма съвпадение, response-ът връща code: "no_eligible_proxy" с нормализирания обхват в details.exitCountries, за да можете да опитате отново по-късно без да разхлабвате изискването.
curl -X POST https://eu.api.foura.ai/api/proxy/ \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"maxTries": 5,
"exitCountries": ["CZ", "GB"],
"request": {"method": "GET", "url": "https://target.example/pricing"}
}'
Отговорът включва exitCountry, когато е заявено определяне на обхвата. Проверете дали принадлежи към вашия списък с разрешени, преди да се доверите на полезния товар, след което използвайте повторно върнатия proxy ID при всяко последващо извикване на браузъра, за да може рендирането на JavaScript да се случи през същия изход.
FourA ви казва какво ви е спряло
Не е нужно да гадаете коя система е блокирала даден request. Когато целта изпълни проверка за ботове, отговорът я посочва.
POST /api/single/иPOST /api/proxy/връщат обектdefense:defense.vendorе системата,defense.solvedпоказва дали проверката е премината, аdefense.presentизброява всичко разпознато в този отговор.POST /api/browser/връщаdefenseSolvedплюсdefenses.presentиdefenses.cleared.
{
"status": 200,
"data": "<!doctype html>...",
"defense": {
"vendor": "sgcaptcha",
"solved": true,
"present": ["sgcaptcha"],
"cookie": "_I_=<clearance>"
}
}
От това следват две правила:
solved: falseозначава, че тялото може да е предизвикателството, а не страницата. FourA никога не представя нерешено предизвикателство като съдържание, така че проверете флага преди парсване.- Решението ви дава достъп. Когато присъства
defense.cookie, изпратете го обратно катоCookieheader на същия изход със същия User-Agent и последващите requests ще пропуснат проверката напълно.
FourA разпознава Cloudflare, SiteGround, DataDome, PerimeterX, Akamai, Incapsula, AWS WAF, hCaptcha, reCAPTCHA и собственото предизвикателство на eBay. Разпознаването е по-широко от решаването: система, която можем да назовем, но не и да решим, се отчита и никога не променя цената на request. Вижте Anti-Bot Defenses за всяко поле, текущото разделение между clear и detect, и пример за повторение.
Стратегия според нивото на защита
Неизвестна защита
Използвайте auto. То първо тества евтино и ескалира само доколкото целта го налага, така че плащате за откриването веднъж на хост.
Ниска защита (повечето сайтове)
Използвайте единичния endpoint с unblocker. Съвпадението на мрежово ниво е достатъчно.
curl -X POST https://eu.api.foura.ai/api/single/ \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"method": "GET", "url": "https://news-site.com/article", "unblocker": true}'
Средна защита (Cloudflare, базов WAF)
Използвайте endpoint на браузъра, за да преминете JavaScript предизвикателствата:
curl -X POST https://eu.api.foura.ai/api/browser/ \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url": "https://protected-site.com/data", "timeout_ms": 15000}'
Висока защита (DataDome, PerimeterX)
Използвайте proxy endpoint с множество опити за повторно изпълнение:
curl -X POST https://eu.api.foura.ai/api/proxy/ \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"maxTries": 10,
"request": {
"method": "GET",
"url": "https://heavily-protected.com/prices",
"unblocker": true
}
}'
За верижни WAF предизвикателства (Cloudflare "Just a moment", Vercel Security Checkpoint, Akamai Bot Manager), при които се нуждаете от рендираната страница след преминаване на предизвикателството, вижте MCP Recipes. Рецептата "Protected page: proxy first, browser when JavaScript is needed" показва точното предаване от proxy към браузър.
Добри практики
Започнете с auto за неизвестни цели. Подайте правило
validate, оставете стълбицата да избере най-евтиното стъпало, след което прочететеmeta.rungв response, за да видите кой двигател е сработил. След като разберете, извиквайте този двигател директно за повторен трафик.Използвайте отново успешната сесия. След извикване на auto, върнатият
session(proxy ID + cookies + userAgent) може да бъде възпроизведен чрез/api/single/или/api/browser/за последващи страници на същия хост на цената на Single.Спазвайте rate limits. Дори при ротация на proxy, изпращането на стотици requests в секунда към един сайт ще задейства поведенческо засичане. Разпределете вашите requests през интервал от поне 1 до 2 секунди.
Оставете
unblockerвключено. За Single, Proxy и Browser requests,unblocker: true(по подразбиране) инжектира реалистични браузърни headers автоматично. Изключвайте го само когато изрично се нуждаете от обикновен клиентски подпис или сурова страница с предизвикателство.Следете процента на успеваемост. Проверете метриките в Dashboard, за да проследите вашия процент на успеваемост във времето. Внезапен спад обикновено означава, че целевият сайт е актуализирал защитата си.
Пропускайте изгорели изходи. Ако извикване на
/api/proxy/или/api/auto/е върнало proxy ID, което след това е започнало да се проваля, подайте го вignoreProxiesпри следващото извикване, за да може FourA да избере различен изход.Прочетете
defenseпреди повторен опит. Името на доставчика ви показва дали си струва да опитате различен профил на браузъра, дали имате нужда от пълен рендър или дали проверката е такава, която никой не преминава без услуга за решаване.Променете представения браузър. Някои цели приемат един браузър и отказват друг. Задайте
browser,osилиversionна Single и Proxy и прочететеGET /api/profilesза текущия каталог. Подробности в endpoint reference.
Какво FourA не може да заобиколи
Някои сценарии изискват допълнителна обработка извън API:
- Съдържание защитено с вход: FourA не управлява дълготрайни сесии вместо вас. Този browser endpoint приема
cookiesза всяка request; подавайте сами вашите session cookies. - Интерактивни CAPTCHAs: reCAPTCHA и hCaptcha се нуждаят от услуга за решаване. FourA разпознава и двете и ги отчита в
defense.present, но не ги преминава. Turnstile се обработва от Browser. - Географски ограничено съдържание: използвайте
exitCountriesна/api/proxy/, за да фиксирате избора до разрешени държави. Сайтове, които допълнително ограничават по ISP или ASN (някои лицензирани в съответната страна букмейкъри, определени правителствени услуги), все още могат да блокират общи residential изходи; тази request връщаno_eligible_proxy, когато текущият пул няма съвпадащ изход. - Сайтове със законови ограничения: Винаги се уверявайте, че събирането на данни е в съответствие с условията за ползване на целевия сайт и приложимото законодателство.
Следващи стъпки
- Smart Fetch (Auto): Задълбочен преглед на
/api/auto/ - Избор на правилния Endpoint: Ръководство за избор на endpoints
- Често срещани проблеми: Отстраняване на грешки 403 и блокирания от CAPTCHA
- API Endpoints: Пълна справка за параметрите, включително
exitCountries - Anti-Bot защити: Полето
defense, списъкът с доставчици и възпроизвеждането на достъп - MCP Рецепти: Шаблони на работни процеси, включително веригата proxy-first-then-browser