Akamai Bot Manager는 다른 어떤 안티-봇 시스템보다 더 많은 고가치 타깃을 보호합니다 — 항공사, 스니커 드롭, 티켓팅, 대형 리테일. 또한 이 분야에서 가장 오래된 플레이어이기도 한데, 이는 두 가지를 의미합니다: 탐지가 가장 성숙해 있고, 차단 방식이 가장 독특합니다. Akamai는 좀처럼 캡차를 보여주지 않습니다. 당신은 조용한 엣지에서의 403, 끝없는 리디렉션 루프, 또는 — 이것의 시그니처 동작인 — 멀쩡하게 로드되지만 오염된 데이터를 반환하는 페이지를 받게 됩니다.
이 가이드는 2026년에 Akamai가 실제로 무엇을 검사하는지와 작동하는 4계층 접근법을 다룹니다. 우리의 DataDome/PerimeterX 가이드 및 Cloudflare 가이드와 같은 취지입니다. 같은 면책 조항이 적용됩니다: 이것은 합리적인 속도로 공개적으로 이용 가능한 데이터를 스크래핑하기 위한 것이지, 남용을 위한 것이 아닙니다.
Akamai는 모든 요청을 세 계층에 걸쳐 점수화하며, 그 점수는 _abck 쿠키를 통해 세션을 따라갑니다:
python-requests나 Go-http의 ClientHello는 첫 패킷에서 플래그됩니다. 작동 방식은 우리의 JA3/JA4 설명을 참고하세요.:method :path :authority :scheme vs Chrome의 :method :authority :scheme :path)는 TLS를 위장하더라도 당신의 클라이언트를 식별합니다. Akamai 사이트에서 "내 JA3는 완벽한데 여전히 차단된다"는 대부분의 경우는 HTTP/2 지문 불일치입니다.Akamai의 JavaScript는 대규모 암호화된 "sensor_data" 페이로드를 수집합니다: 마우스 궤적, 키 입력 타이밍, 디바이스 방향, 캔버스/WebGL 해시, 자동화 아티팩트. 이것을 보호된 도메인으로 POST하면, 응답이 당신의 _abck 쿠키를 업그레이드(또는 오염)합니다. 유효한 _abck는 특정 위치에 ~0~을 포함하고, 플래그된 것은 ~-1~을 포함합니다. 센서 포맷은 몇 주마다 바뀝니다 — 이것이 캡처해서 재생한 센서가 빠르게 죽는 이유입니다.
요청 페이싱, 내비게이션 순서(제품 페이지를 한 번도 로드하지 않고 제품 API에 접근했는가?), 그리고 세션 연령. Akamai는 인내심이 있습니다: 때때로 처음 몇 개의 요청은 통과시키고 점수가 누적되면 세션 도중에 당신을 차단합니다.
데이터센터 IP는 Akamai로 보호되는 사이트에서 죽은 것입니다 — ASN 검사만으로도 죽습니다. 주거용 프록시를 사용하세요. 그리고 _abck 쿠키가 세션에 묶여 있기 때문에 스티키 세션을 사용하세요: 하나의 신원 수명 동안 유지되는 하나의 IP, 쿠키와 IP가 하나의 단위로 함께 로테이션됩니다. 세션 도중의 IP 변경은 당신이 쌓아온 센서 신뢰를 무효화합니다. (전체 전략: 스티키 vs 로테이팅 세션.)
# One sticky identity = one session id, held ~10 min
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 fingerprint together
proxies={"https": "socks5h://USERNAME:[email protected]:913"},
)
HTTP/2를 활성화한 평범한 httpx는 충분하지 않습니다 — httpx의 h2 지문은 Chrome의 것이 아니라 자체적인 것입니다. 깨끗한 TLS 지문으로도 403을 받고 있다면, 거의 항상 이것이 이유입니다. (배경: curl_cffi & tls-client 가이드.)
정적 페이지를 넘어서는 것에 대해서는, 세션 핸드셰이크를 위해 실제 브라우저를 실행하세요: 랜딩 페이지를 로드하고, 센서 스크립트가 실행되게 하고, 몇 가지 사람 같은 상호작용(스크롤, 마우스 움직임)을 수행한 다음 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) # sensor POST happens here
cookies = page.context.cookies()
abck = next(c["value"] for c in cookies if c["name"] == "_abck")
# "~0~" in abck -> valid; "~-1~" -> flagged, restart with new identity
| 증상 | 유력한 계층 | 해결책 |
|---|---|---|
| 첫 요청에서 403, 쿠키 미관여 | TLS / HTTP/2 지문 | raw httpx가 아닌 curl_cffi 위장 |
| 첫 요청은 정상, 5–10개 후 차단 | IP 평판 또는 페이싱 | 주거용 스티키 세션, 속도 늦추기 |
_abck가 ~-1~ 포함 | 센서 / 자동화 아티팩트 | 실제 브라우저 핸드셰이크, 사람 상호작용 먼저 |
| 200 OK인데 데이터가 이상함 | 오염된 응답 | 당신은 플래그됨 — 전체 신원 리셋 |
| 진입 시 끝없는 리디렉션 루프 | IP에 대한 엣지 레벨 차단 | 새 주거용 IP, ASN이 플래그되지 않았는지 확인 |
_abck), 그리고 인내심 있는 행동 점수화._abck를 획득하세요; ~0~을 확인하세요.신규 사용자는 가입 시 500MB를 받고, 첫 충전 시 추가 보너스를 받습니다. 기간 한정 혜택입니다.