From 0bc20c25d42976b4d902b888c5004e5f7d8b1bce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B0=D0=BD=D0=B4=D1=80=20?= =?UTF-8?q?=D0=9C=D0=B0=D0=BC=D0=B0=D0=B5=D0=B2?= <93277836+MamaevPro@users.noreply.github.com> Date: Tue, 4 Aug 2026 12:24:12 +0500 Subject: [PATCH] Update websocket.py Fix SSL error: Traceback (most recent call last): File "pymax/base.py", line 131, in start File "pymax/app.py", line 88, in start ConnectionError: Failed to connect and handshake: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:992) --- src/pymax/transport/websocket.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/pymax/transport/websocket.py b/src/pymax/transport/websocket.py index cab0f29..5163b46 100644 --- a/src/pymax/transport/websocket.py +++ b/src/pymax/transport/websocket.py @@ -4,6 +4,10 @@ from pymax.logging import get_logger from .base import Transport +import ssl +ssl_context = ssl.create_default_context() +ssl_context.check_hostname = False +ssl_context.verify_mode = ssl.CERT_NONE logger = get_logger(__name__) @@ -17,11 +21,11 @@ def __init__(self, url: str, proxy: str | None) -> None: async def connect(self) -> None: if self.proxy: self.ws = await client.connect( - self.url, origin=Origin("https://web.max.ru"), proxy=self.proxy + self.url, origin=Origin("https://web.max.ru"), proxy=self.proxy, ssl=ssl_context, ) else: self.ws = await client.connect( - self.url, origin=Origin("https://web.max.ru") + self.url, origin=Origin("https://web.max.ru"), ssl=ssl_context, ) # TODO: origin should be configurable async def close(self) -> None: