8
Follow
1373
Followers
2.14 如何调用交易所的API
-
HttpQuery 函数
在调用一些不需要验证的 交易所 API 时(比如 跟账户信息 无关的行情信息API),例如:
https://www.okcoin.com/api/v1/future_estimated_price.do?symbol=btc_usd // 获取交割预估价HttpQuery("https://www.okcoin.com/api/v1/future_estimated_price.do?symbol=btc_usd")
https://www.okcoin.com/api/v1/future_hold_amount.do?symbol=btc_usd&contract_type=next_week // 获取合约持仓量HttpQuery("https://www.okcoin.com/api/v1/future_hold_amount.do?symbol=btc_usd&contract_type=next_week")
获取到的是 JSON 格式的字符串 可以用 JSON.parse 函数解析 为对象,获取数据。
-
exchange.IO 函数
IO函数调用的交易所API 必须是需要验证的(不支持 直接可以用 HttpQuery 访问的那些API。)
具体使用可以参见 API 文档。
Related Recommendations
Comment
All comments (2)
因为python不支持HttpQuery,exchange.IO又必须要验证,所以我尝试用自带的urllip获取行情信息。但是Poloniex的API都有人工验证,你们是怎么解决的呢。
9 years ago
python 这样写,我也是 看gihub 上的还在学习:
def _call(self, mode, uri, data = None):
url = '%s://%s%s' % (SCHEME, self._host, uri)
# Log(mode + ' ' + url) # print
headers = DEFAULT_GET_HEADERS if mode=='GET' else DEFAULT_POST_HEADERS
req = request.Request(url, data = data, headers=headers, method=mode)
# Log("req:", req) # print
with request.urlopen(req, timeout=TIMEOUT) as resp:
if resp.getcode()!=200:
raise ApiNetworkError('Bad response code: %s %s' % (resp.getcode(), resp.reason))
return resp.read() # self._parse(resp.read())
发送 请求。
9 years ago
- 1


