如何为Heroku上的Flask服务器配置静态IP对接Bybit API
配置Heroku Flask服务器通过Fixie代理使用静态IP访问Bybit API
1. 确认Fixie环境变量
Heroku安装Fixie扩展后,会自动为应用注入FIXIE_URL环境变量,无需手动配置,确保你的应用能正常读取该变量即可。
2. 修改Flask代码配置代理
pybit库的HTTP客户端支持通过requests_kwargs参数传递请求配置,我们可以利用这一点添加代理设置。修改后的代码如下:
import os import config from pybit import usdt_perpetual from flask import Flask, request app = Flask(__name__) @app.route('/execute_trades', methods=['POST']) def webhook(): # 获取Fixie代理地址 fixie_proxy = os.environ.get('FIXIE_URL') proxies = { "http": fixie_proxy, "https": fixie_proxy } # 初始化Bybit客户端并配置代理 exchange = usdt_perpetual.HTTP( endpoint="https://api.bybit.com", requests_kwargs={"proxies": proxies} ) # 补充symbol变量定义(示例为BTCUSDT,可根据需求修改) symbol = "BTCUSDT" last_price = exchange.public_trading_records(symbol=symbol, limit=1) return last_price
3. 保持Procfile不变
你的现有Procfile无需修改,继续使用:
web: gunicorn server:app
注意事项
- 若
FIXIE_URL无法正常获取,可通过Heroku CLI执行heroku config命令查看环境变量是否存在。 - 原代码中未定义
symbol变量,运行时会触发报错,需补充具体交易对符号。 pybit底层依赖requests库,代理配置格式完全兼容requests的代理规范。
内容的提问来源于stack exchange,提问作者Jaylon Nichols
相关产品推荐
相关产品推荐

