【问题标题】:python-binance ThreadedWebsocketManager with http proxypython-binance ThreadedWebsocketManager 与 http 代理
【发布时间】:2022-10-19 00:11:15
【问题描述】:

我尝试使用 ThreadedWebsocketManager 在 Windows PC 上启动流。 这台 PC 位于 http 代理后面。 没有错误,但没有反应...... 我做错什么了吗?还是我忘记了什么?

注意:在这台电脑上我没有管理权限...

编辑:我试图在没有代理及其工作的 pc 中启动相同的流....

编辑:我尝试使用“客户端”获取我的币安帐户信息,设置代理环境变量及其工作,似乎只有“ThreadedWebsocketManager”不起作用。

代码:

from binance import ThreadedWebsocketManager
import os

proxy = "http://<username>:<password>@<proxyurl>:<port>"
os.environ['http_proxy'] = proxy
os.environ['HTTP_PROXY'] = proxy
os.environ['https_proxy'] = proxy
os.environ['HTTPS_PROXY'] = proxy

api_key = '<my api key>'
api_secret = '<my secrect key>'

def main():
    symbol = 'BTCUSDT'

    twm = ThreadedWebsocketManager(api_key=api_key, api_secret=api_secret)
    # start is required to initialise its internal loop
    twm.start()

    def handle_socket_message(msg):
        print(f"message type: {msg['e']}")
        print(msg)

    twm.start_kline_socket(callback=handle_socket_message, symbol=symbol)
    twm.join()


if __name__ == "__main__":
   main()

【问题讨论】:

  • biance ThreadedWebsocketManager 很可能不会从您设置的变量中读取它的代理信息。

标签: python websocket proxy stream binance


【解决方案1】:

很可能requests 库binance 在后台使用不会看到您os.environ 的变化。

尝试使用the suggested methods from the docs 之一,例如设置request_params

# ...

proxy =  "..."

proxies = {
    'http': proxy,
    'https': proxy,
}

# ...

def main():

    # ...

    # note the added request_params
    twm = ThreadedWebsocketManager(api_key=api_key, api_secret=api_secret, request_params={'proxies': proxies})

    # ...

# ...

【讨论】:

    【解决方案2】:

    嗯……我也有同样的问题。我厌倦了上述解决方案,它说:TypeError:在里面() 得到了一个意外的关键字参数“request_params” 有什么建议吗?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-07-07
      • 2020-02-11
      • 1970-01-01
      相关资源
      最近更新 更多