429 and a token. That variant has its own page: SBSD challenge (429).
How to recognize it
The page contains a second Akamai script tag whose query string carries av parameter shaped like a UUID:
- The
vvalue is the visitor id. Only a UUID-shapedvmarks the SBSD script; other scripts with avare ordinary cache-busted assets. - There is no
tparameter. When atis present, the site is challenging you and you are in the 429 flow instead.
sbsd_o, bm_so or bm_o. Whichever the site uses, its value goes into the request.
The flow
Run this on every page load, after the page request and before the sensor flow. Each page load takes two payloads,index 0 and index 1, posted one after the other.
1
Read the values from the page
From the script URL take the path and the
v value. From the cookie jar take sbsd_o, bm_so or bm_o, whichever is set.2
Generate and post two payloads
Call
/sbsd with the visitor id, the cookie value, your User-Agent, the page URL, your Accept-Language and index: 0. Roolink returns a body string; post it as the next step shows. Then call /sbsd again with index: 1 and post that too. The /sbsd call is plain JSON over HTTPS, shown here with a small helper that posts JSON to Roolink with your key (see Without an SDK); send and post are the request helpers from the Quickstart.3
How each post looks
Post each payload to the script path on the site, through the same session, with the page as referer. Send it as JSON with the payload under
body, with application/json as the content type. Copy the rest of the headers from the browser’s SBSD post in your powhttp recording.4
Continue with the sensor flow
The responses update the SBSD cookies. Keep them in the jar and move on to the sensor flow exactly as before. Repeat both posts on every new page load in the session.
Request fields
Troubleshooting
The next request after the post still gets blocked
The next request after the post still gets blocked
Check the next response for a
429 with a t token. If it has one, the site has switched to the active variant; follow SBSD challenge (429). If not, the block is coming from the sensor layer or the connection, not from SBSD.I see the script but no v parameter
I see the script but no v parameter
Then it is not the SBSD script. Look for the tag whose
v is a UUID.