You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows11下如何在Python中强制HTTP连接使用IPv4而非IPv6?

Windows 11连接Binance REST API报错IPv6 not supported的优化解决方案

问题概述

在Windows 11上使用ccxt Python库连接Binance US REST API时,出现以下错误:

ccxt.base.errors.ExchangeError: binanceus {"code":-71012,"msg":"IPv6 not supported"}

该问题并非ccxt专属,推测所有HTTP连接库都会遇到(错误直接来自Binance服务器),且Linux环境下可正常运行。

复现代码

import ccxt
exchange = ccxt.binanceus({'apiKey': '<your_key>', 'secret': '<your_secret>'})
print(exchange.fetch_balance())

问题根源

Windows 11默认IPv6优先级高于IPv4,通过以下命令可验证:

> netsh interface ipv6 show prefixpolicies

Querying active state...

Precedence  Label  Prefix
----------  -----  --------------------------------
        50      0  ::1/128
        40      1  ::/0
        35      4  ::ffff:0:0/96
        30      2  2002::/16
         5      5  2001::/32
         3     13  fc00::/7
         1     11  fec0::/10
         1     12  3ffe::/16
         1      3  ::/96

其中::/0(IPv6默认路由)优先级(40)高于::ffff:0:0/96(IPv4映射地址)的优先级(35),导致系统优先使用IPv6连接Binance服务器,但Binance暂不支持IPv6。

优化解决方案

无需修改系统IPv6优先级,也不依赖第三方工具库,通过自定义requests Adapter强制使用IPv4连接,实现跨平台兼容:

import ccxt
import requests
import socket
from urllib3.util.connection import create_connection

def get_ipv4_forced_session():
    class ForceIPv4Adapter(requests.adapters.HTTPAdapter):
        def _create_connection(self, *args, **kwargs):
            # 强制使用IPv4协议族创建连接
            kwargs['family'] = socket.AF_INET
            return create_connection(*args, **kwargs)

    session = requests.Session()
    # 给所有HTTPS请求挂载强制IPv4的适配器
    session.mount("https://", ForceIPv4Adapter())
    return session

# 初始化ccxt交易所实例并传入自定义Session
exchange = ccxt.binanceus({
    'apiKey': '<your_key>',
    'secret': '<your_secret>',
    'session': get_ipv4_forced_session()
})

print(exchange.fetch_balance())

方案优势

  • 无第三方依赖:无需安装requests_toolbelt,仅依赖Python标准库和requests、ccxt本身
  • 跨平台兼容:在Windows、Linux、macOS下均可正常工作
  • 更健壮:无需获取本地IPv4地址,直接通过协议族强制指定IPv4,避免本地多网卡环境下的地址选择问题

内容的提问来源于stack exchange,提问作者arosca

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 03:05:49