diff --git a/tradein-mvp/backend/app/services/scrapers/ekb_geoportal_client.py b/tradein-mvp/backend/app/services/scrapers/ekb_geoportal_client.py index 74667b51..5557da3b 100644 --- a/tradein-mvp/backend/app/services/scrapers/ekb_geoportal_client.py +++ b/tradein-mvp/backend/app/services/scrapers/ekb_geoportal_client.py @@ -220,7 +220,12 @@ class EkbGeoportalClient: } url = f"{GEOPORTAL_HOST}{WFS_PATH}" try: - async with httpx.AsyncClient(timeout=self._timeout, headers=_BROWSER_HEADERS) as client: + # Геопортал ЕКБ отдаёт сертификат российского CA (Минцифры), которого нет в + # стандартном trust store httpx → TLS verify падает. Данные публичные, + # read-only → verify=False (тот же подход, что curl -k при разведке). + async with httpx.AsyncClient( + timeout=self._timeout, headers=_BROWSER_HEADERS, verify=False + ) as client: resp = await client.get(url, params=params) if resp.status_code != 200: logger.warning("geoportal WFS → HTTP %d for bbox=%s", resp.status_code, bbox)