Akamai Bot Manager защищает больше высокоценных целей, чем любая другая анти-бот система — авиакомпании, дропы кроссовок, продажу билетов, крупный ритейл. Это ещё и старейший игрок на рынке, а значит две вещи: его детекция наиболее зрелая, а стиль блокировки — наиболее характерный. Akamai редко показывает капчу. Вы получаете молчаливый 403 на эдже, бесконечный цикл редиректов или — его фирменный приём — страницу, которая нормально грузится, но возвращает отравленные данные.
Этот гайд разбирает, что Akamai реально проверяет в 2026 году, и рабочий четырёхслойный подход — в том же духе, что наши гайд по DataDome/PerimeterX и гайд по Cloudflare. Тот же дисклеймер: это для скрапинга публично доступных данных в разумном темпе, а не для злоупотреблений.
Akamai скорит каждый запрос по трём слоям, и счёт следует за вашей сессией через cookie _abck:
python-requests или Go-http помечается на первом же пакете. Как это работает — в нашем разборе JA3/JA4.:method :path :authority :scheme против хромовского :method :authority :scheme :path) опознают ваш клиент, даже когда TLS имперсонирован. Большинство случаев «у меня идеальный JA3, а меня всё равно блокируют» на сайтах с Akamai — это несовпадения HTTP/2-отпечатка.JavaScript от Akamai собирает большую зашифрованную полезную нагрузку «sensor_data»: траектории мыши, тайминги нажатий клавиш, ориентацию устройства, хеши canvas/WebGL, артефакты автоматизации. Он POST'ит её на защищённый домен, и ответ улучшает (или отравляет) ваш cookie _abck. Валидный _abck содержит ~0~ в определённой позиции; помеченный содержит ~-1~. Формат сенсора меняется каждые несколько недель — вот почему перехваченные и переигранные сенсоры быстро умирают.
Темп запросов, порядок навигации (вы дёрнули product API, ни разу не загрузив страницу товара?) и возраст сессии. Akamai терпелив: иногда он пропускает первые несколько запросов и блокирует вас посреди сессии, когда счёт накапливается.
IP дата-центров мертвы на сайтах под Akamai — одна только проверка ASN их убивает. Используйте резидентные прокси, и поскольку cookie _abck привязан к вашей сессии, используйте sticky-сессии: один IP удерживается на всё время жизни одной личности, cookie и IP ротируются вместе как единое целое. Смена IP посреди сессии аннулирует то доверие сенсора, которое вы наработали. (Полная стратегия: sticky или ротируемые сессии.)
# Одна sticky-личность = один id сессии, удерживается ~10 мин
socks5h://USERNAME:[email protected]:913
Для скрапинга только по HTTP ваш клиент должен имперсонировать и TLS, и HTTP/2. curl_cffi делает и то, и другое корректно:
from curl_cffi import requests
r = requests.get(
"https://www.target-site.com/api/inventory",
impersonate="chrome", # отпечаток TLS + HTTP/2 вместе
proxies={"https": "socks5h://USERNAME:[email protected]:913"},
)
Чистого httpx с включённым HTTP/2 недостаточно — h2-отпечаток httpx свой собственный, не хромовский. Если вы ловите 403 при чистом TLS-отпечатке, почти всегда причина в этом. (Контекст: гайд по curl_cffi и tls-client.)
Для всего, что сложнее статических страниц, запускайте настоящий браузер для рукопожатия сессии: загрузите лендинг, дайте сенсорному скрипту отработать, выполните пару человекоподобных взаимодействий (скролл, движение мыши), а потом извлеките cookie для вашего HTTP-клиента — через тот же прокси:
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
browser = p.chromium.launch(proxy={
"server": "us.jibaoproxy.com:913",
"username": "USERNAME", "password": "PASSWORD",
})
page = browser.new_page()
page.goto("https://www.target-site.com/")
page.mouse.move(300, 400); page.mouse.wheel(0, 600)
page.wait_for_timeout(3000) # POST сенсора происходит здесь
cookies = page.context.cookies()
abck = next(c["value"] for c in cookies if c["name"] == "_abck")
# "~0~" в abck -> валиден; "~-1~" -> помечен, перезапуск с новой личностью
| Симптом | Вероятный слой | Исправление |
|---|---|---|
| 403 на первом запросе, cookie ни при чём | Отпечаток TLS / HTTP/2 | Имперсонация через curl_cffi, не сырой httpx |
| Первые запросы ок, блок после 5–10 | Репутация IP или темп | Резидентные sticky-сессии, сбавьте темп |
_abck содержит ~-1~ | Сенсор / артефакты автоматизации | Рукопожатие через настоящий браузер, сначала человеческое взаимодействие |
| 200 OK, но данные выглядят неверно | Отравленный ответ | Вы помечены — полный сброс личности |
| Бесконечный цикл редиректов на входе | Блок на уровне эджа по IP | Новый резидентный IP, проверьте, что ASN не помечен |
_abck) и терпеливый поведенческий скоринг._abck настоящим браузером, прежде чем трогать API; проверяйте наличие ~0~.Sticky-сессии, чистые ASN, поценовая оплата за GB — $5 бесплатного баланса, без карты.
Начать бесплатноНовым пользователям — 5U при регистрации, бонус к первому пополнению. Акция ограничена по времени.