feat: websocket kline fetch and enforce proxy routing

This commit is contained in:
crypto_predictor committed 2026-03-07 12:12:49 +08:00
1 parent 7af21bed6a
commit 77d084341c
5 files changed
+280 -45

No files matched your search

+12 -1
View File
@@ -35,6 +35,16 @@ class PolymarketClient:
GAMMA_API = "https://gamma-api.polymarket.com"
CLOB_API = "https://clob.polymarket.com"
@staticmethod
def _apply_global_proxy(proxy_url: str) -> None:
"""统一设置代理环境变量,确保第三方网络库也走代理。"""
os.environ["HTTP_PROXY"] = proxy_url
os.environ["HTTPS_PROXY"] = proxy_url
os.environ["ALL_PROXY"] = proxy_url
os.environ["http_proxy"] = proxy_url
os.environ["https_proxy"] = proxy_url
os.environ["all_proxy"] = proxy_url
def __init__(self, private_key: Optional[str] = None):
"""
@@ -46,7 +56,8 @@ class PolymarketClient:
self.private_key = private_key or os.getenv("POLYMARKET_PRIVATE_KEY")
# 配置代理
proxy = os.getenv("SOCKS5_PROXY") if os.getenv("USE_PROXY", "false").lower() == "true" else None
proxy = os.getenv("SOCKS5_PROXY", "socks5://127.0.0.1:7890")
self._apply_global_proxy(proxy)
# HTTP客户端 - 禁用压缩避免brotli问题
self.http = httpx.Client(