From fa076bb13ac23c3f96a8f144e32ca755282c7ac2 Mon Sep 17 00:00:00 2001 From: hjq <770690987@qq.com> Date: Fri, 12 Jun 2026 17:18:40 +0800 Subject: [PATCH] =?UTF-8?q?Dockerfile=20=E9=83=A8=E7=BD=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- browser_login/login.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/browser_login/login.py b/browser_login/login.py index 24866a5..b562506 100644 --- a/browser_login/login.py +++ b/browser_login/login.py @@ -12,6 +12,10 @@ from DrissionPage import ChromiumPage, ChromiumOptions # ── 加载 .env ───────────────────────────────────────────────────────────────── load_dotenv(Path(__file__).parent / ".env") +# 强制 Python 的 websocket 客户端忽略本地代理,防止出现 Handshake status 404 Not Found +os.environ["NO_PROXY"] = "localhost,127.0.0.1,::1" +os.environ["no_proxy"] = "localhost,127.0.0.1,::1" + ERP_URL = os.getenv("ERP_URL", "https://yunmes.tftykj.cn/#") ERP_TENANT = os.getenv("ERP_TENANT", "") ERP_USERNAME = os.getenv("ERP_USERNAME", "") @@ -53,6 +57,12 @@ def get_page(headless: bool = False, port: int = 9222) -> ChromiumPage: co.set_argument("--no-sandbox") co.set_argument("--disable-dev-shm-usage") # 防止 Docker 共享内存耗尽导致浏览器崩溃 co.set_argument("--disable-software-rasterizer") # 配合无头模式禁用软件光栅化器 + co.set_argument("--remote-allow-origins=*") # 解决 Docker 下 websocket 404 问题 + co.set_argument("--remote-debugging-address=127.0.0.1") + co.set_argument("--disable-web-security") + co.set_argument("--ignore-certificate-errors") + co.set_argument("--proxy-server=direct://") # 禁用代理 + co.set_argument("--proxy-bypass-list=*") co.set_argument("--window-size=1440,900") if is_docker: