fix: 内网API请求绕过系统代理

This commit is contained in:
2026-08-06 17:42:23 +08:00
parent 0c85dd93c2
commit 1c752e0f75
2 changed files with 8 additions and 3 deletions
+3 -2
View File
@@ -19,7 +19,7 @@ import time
from typing import Protocol
from urllib.error import HTTPError, URLError
from urllib.parse import quote, urlencode
from urllib.request import Request, urlopen
from urllib.request import ProxyHandler, Request, build_opener
import warnings
import zipfile
@@ -225,6 +225,7 @@ class MetrixApiClient:
raise ProcessingError("METRIX_API_TOKEN is required for Metrix API access")
self.base_url = base_url.rstrip("/")
self.token = token
self.opener = build_opener(ProxyHandler({}))
def get_bytes(self, endpoint: str, query: dict[str, object] | None = None, timeout: int = 30) -> bytes:
return self._request("GET", endpoint, query=query, timeout=timeout)
@@ -285,7 +286,7 @@ class MetrixApiClient:
last_error: Exception | None = None
for attempt in range(3):
try:
with urlopen(request, timeout=timeout) as response:
with self.opener.open(request, timeout=timeout) as response:
return response.read()
except HTTPError as exc:
detail = exc.read().decode("utf-8", "replace")[:1000]