diff --git a/tradein-mvp/packages/scraper-kit/src/scraper_kit/providers/_base.py b/tradein-mvp/packages/scraper-kit/src/scraper_kit/providers/_base.py index bcc3354c..c39b79b8 100644 --- a/tradein-mvp/packages/scraper-kit/src/scraper_kit/providers/_base.py +++ b/tradein-mvp/packages/scraper-kit/src/scraper_kit/providers/_base.py @@ -80,13 +80,17 @@ DOCUMENT_HEADERS: dict[str, str] = { def http_proxies(proxy_url: str | None) -> dict[str, str] | None: - """curl_cffi/httpx-совместимый `proxies=` dict из одного url. + """curl_cffi-совместимый `proxies=` dict из одного url. `None`/пустая строка → `None` (прямое подключение — без прокси). Извлечено из идентичной идиомы `{"http": url, "https": url} if url else None`, продублированной в avito/serp.py, avito/detail.py, avito/imv.py, cian/detail.py, cian/newbuilding.py (дважды), cian/session.py. + + ВАЖНО: не для httpx — начиная с httpx 0.28 `Client`/`AsyncClient` больше не + принимают dict в `proxies=` (только одиночный `proxy=` строкой). Не передавай + этот dict в httpx-клиент — `TypeError`. """ return {"http": proxy_url, "https": proxy_url} if proxy_url else None