docs(tradein/browser): origin работает через куки контекста, а не через Referer
All checks were successful
CI Trade-In / changes (pull_request) Successful in 14s
CI Trade-In / backend-tests (pull_request) Has been skipped
CI / changes (pull_request) Successful in 15s
CI Trade-In / frontend-checks (pull_request) Has been skipped
CI / backend-tests (pull_request) Has been skipped
CI / frontend-tests (pull_request) Has been skipped
CI / openapi-codegen-check (pull_request) Has been skipped
CI Trade-In / browser-tests (pull_request) Successful in 1m37s
All checks were successful
CI Trade-In / changes (pull_request) Successful in 14s
CI Trade-In / backend-tests (pull_request) Has been skipped
CI / changes (pull_request) Successful in 15s
CI Trade-In / frontend-checks (pull_request) Has been skipped
CI / backend-tests (pull_request) Has been skipped
CI / frontend-tests (pull_request) Has been skipped
CI / openapi-codegen-check (pull_request) Has been skipped
CI Trade-In / browser-tests (pull_request) Successful in 1m37s
Оба комментария про origin обещали «органическую навигацию с реальными cookies/Referer». Referer тут не при чём: playwright'овский goto() этот заголовок не шлёт вовсе, так что органической навигацией заход на origin не был никогда. Работает он через куки контекста — пропуск QRATOR, выданный на выдаче, остаётся в контексте и годится для карточки. Различие не косметическое: из «нужен Referer» следует, что origin надо переоткрывать перед каждой карточкой, а из «нужны куки» — что достаточно одного раза. Второе и делает якорная вкладка предыдущего коммита; заодно дописано, почему при reuse_context повторный заход на выдачу не нужен.
This commit is contained in:
parent
5f1a2ec585
commit
2c29151e85
1 changed files with 12 additions and 7 deletions
|
|
@ -950,9 +950,9 @@ async def fetch_handler(request: web.Request) -> web.Response:
|
|||
if not url:
|
||||
return web.json_response({"error": "missing 'url' field"}, status=400)
|
||||
|
||||
# origin (опционально) — same-site якорь, на который камуфокс зайдёт ПЕРЕД url
|
||||
# (органическая навигация: реальные cookies/Referer вместо холодного goto,
|
||||
# зеркалит /fetch-json #1917). Явного auto-derive из url здесь НЕТ (в отличие
|
||||
# origin (опционально) — same-site якорь, на который камуфокс зайдёт ПЕРЕД url,
|
||||
# чтобы получить пропуск QRATOR в куки контекста (Referer тут ни при чём: goto()
|
||||
# его не шлёт; зеркалит /fetch-json #1917). Явного auto-derive из url здесь НЕТ (в отличие
|
||||
# от fetch-json) — caller не передал → остаётся None, origin-goto не выполняется,
|
||||
# поведение идентично прежнему (avito/cian/yandex его никогда не передают).
|
||||
origin: str | None = body.get("origin")
|
||||
|
|
@ -1492,10 +1492,15 @@ async def _fetch_once(
|
|||
параллелятся — recycle через _relaunch_browser безопасен прямо здесь.
|
||||
|
||||
origin (опционально) — same-site якорь (например SERP), на который камуфокс
|
||||
заходит ПЕРЕД целевым url: органическая навигация с реальными cookies/Referer
|
||||
вместо холодного прямого захода (зеркалит _fetch_json_once, #1917 — DomClick
|
||||
card-fetch, эмпирически подтверждено вживую 2026-07-04). None (дефолт) → поведение
|
||||
не меняется, ровно один goto(url) как раньше (avito/cian/yandex не передают origin).
|
||||
заходит ПЕРЕД целевым url, чтобы получить пропуск QRATOR в контексте (зеркалит
|
||||
_fetch_json_once, #1917 — DomClick card-fetch, эмпирически подтверждено вживую
|
||||
2026-07-04). Работает это через КУКИ контекста, а не через Referer: goto()
|
||||
заголовок Referer не шлёт вовсе, так что «органической навигации» тут никогда не
|
||||
было — ценность ровно в прогретом контексте. Поэтому при reuse_context origin
|
||||
поднимается ОДИН раз в якорной вкладке (_ensure_anchor_page), а не переоткрывается
|
||||
перед каждой карточкой: контекст уже прогрет, повторный заход — трата рукопожатия.
|
||||
None (дефолт) → поведение не меняется, ровно один goto(url) как раньше
|
||||
(avito/cian/yandex не передают origin).
|
||||
|
||||
cookies (опционально) — dict cookie_name→value для инъекции ДО любой навигации
|
||||
(обход QRATOR-блока DomClick при валидной test-аккаунт сессии, эмпирически
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue