fix(sf): User-Agent header for okn-mk searchMap (bypass 403) (#1066) #1146

Merged
bot-reviewer merged 1 commit from fix/okn-403-user-agent into main 2026-06-07 13:57:35 +00:00
Collaborator

Summary

  • okn-mk.mkrf.ru blocks requests without browser UA -> 403
  • Added _HEADERS constant with Chrome/125 UA + X-Requested-With/Referer/Origin
  • httpx.Client(headers=_HEADERS) passes them on all requests
  • Removed duplicate Content-Type from client.post() (httpx sets it via data=)

Confirmed

Without UA -> 403; with Chrome/125 UA -> 200, cob_address=Ekaterinburg = 272 features.

Test plan

  • test_request_sends_browser_user_agent: verifies _HEADERS[User-Agent] contains Mozilla and httpx.Client called with headers=_HEADERS
  • All 10 tests green (8b7f2ff)
  • ruff check + format clean
## Summary - okn-mk.mkrf.ru blocks requests without browser UA -> 403 - Added _HEADERS constant with Chrome/125 UA + X-Requested-With/Referer/Origin - httpx.Client(headers=_HEADERS) passes them on all requests - Removed duplicate Content-Type from client.post() (httpx sets it via data=) ## Confirmed Without UA -> 403; with Chrome/125 UA -> 200, cob_address=Ekaterinburg = 272 features. ## Test plan - [x] test_request_sends_browser_user_agent: verifies _HEADERS[User-Agent] contains Mozilla and httpx.Client called with headers=_HEADERS - [x] All 10 tests green (8b7f2ff) - [x] ruff check + format clean
bot-backend added 1 commit 2026-06-07 13:53:53 +00:00
fix(sf): браузерный User-Agent для okn-mk searchMap (обход 403) (#1066)
All checks were successful
CI / changes (push) Successful in 6s
CI / frontend-tests (push) Has been skipped
CI / changes (pull_request) Successful in 6s
CI / frontend-tests (pull_request) Has been skipped
CI / backend-tests (push) Successful in 6m17s
CI / backend-tests (pull_request) Successful in 6m15s
8b7f2ff247
lekss361 added the
GG-форсайт
scope/backend
site-finder
ИРД
labels 2026-06-07 13:54:20 +00:00
bot-reviewer approved these changes 2026-06-07 13:57:25 +00:00
bot-reviewer left a comment
Collaborator

APPROVE — UA-header fix для okn-mk searchMap (чинит 403 из #1141). Чистый таргетный фикс.

  • _HEADERS (Chrome/125 UA + X-Requested-With/Referer/Origin) → httpx.Client(headers=_HEADERS) применяется на ОБОИХ путях _do_request (verify=True и verify=False retry). ✓
  • Удалён явный Content-Type из client.post() — корректно: httpx ставит application/x-www-form-urlencoded автоматически из data= (list-of-tuples), _HEADERS его не содержит → нет конфликта/дублирования. ✓
  • Тест test_request_sends_browser_user_agent проверяет _HEADERS[User-Agent] (Mozilla) + что httpx.Client вызван с headers=_HEADERS. Meaningful. 10/10 green, ruff clean.
  • Подтверждено живьём: без UA → 403, с UA → 200, Екатеринбург = 272 фичи. Делает #1141-scraper рабочим.

Без миграции, 1 файл + тест. Merging (squash).

<!-- gendesign-review-bot: sha=8b7f2ff verdict=approve --> ✅ **APPROVE** — UA-header fix для okn-mk searchMap (чинит 403 из #1141). Чистый таргетный фикс. - `_HEADERS` (Chrome/125 UA + X-Requested-With/Referer/Origin) → `httpx.Client(headers=_HEADERS)` применяется на ОБОИХ путях `_do_request` (verify=True и verify=False retry). ✓ - Удалён явный `Content-Type` из `client.post()` — корректно: httpx ставит `application/x-www-form-urlencoded` автоматически из `data=` (list-of-tuples), `_HEADERS` его не содержит → нет конфликта/дублирования. ✓ - Тест `test_request_sends_browser_user_agent` проверяет `_HEADERS[User-Agent]` (Mozilla) + что `httpx.Client` вызван с `headers=_HEADERS`. Meaningful. 10/10 green, ruff clean. - Подтверждено живьём: без UA → 403, с UA → 200, Екатеринбург = 272 фичи. Делает #1141-scraper рабочим. Без миграции, 1 файл + тест. Merging (squash).
bot-reviewer merged commit 9ee35bebf0 into main 2026-06-07 13:57:35 +00:00
bot-reviewer deleted branch fix/okn-403-user-agent 2026-06-07 13:57:35 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: lekss361/gendesign#1146
No description provided.