2.14 एक्सचेंज के API को कैसे कॉल करें
-
HttpQuery फ़ंक्शन
कुछ एक्सचेंजों के एपीआई को कॉल करते समय जिन्हें सत्यापन की आवश्यकता नहीं होती है (जैसे कि खाता जानकारी से असंबंधित ट्रेडिंग जानकारी एपीआई), उदाहरण के लिएः
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 फ़ंक्शन कॉल करने वाले एक्सचेंज एपीआई को सत्यापन की आवश्यकता होनी चाहिए ((असमर्थित उन एपीआई जिन्हें सीधे HttpQuery के साथ एक्सेस किया जा सकता है))
एपीआई दस्तावेज़ देखें।
因为python不支持HttpQuery,exchange.IO又必须要验证,所以我尝试用自带的urllip获取行情信息。但是Poloniex的API都有人工验证,你们是怎么解决的呢。
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())
发送 请求。
- 1


