python okex 获取订单
使用Python从OKEx获取订单信息
本文将详细介绍如何使用Python通过OkexAPI来获取订单信息。首先需要确保安装了`requests`库,如果没有安装可以使用pip进行安装:
```bash
pipinstallrequests
```
接下来是具体步骤:
1.初始化API密钥和URL
在开始编写代码之前,请先从OKEx开发者中心获取您的API密钥、SecretKey以及Passphrase。
API密钥(APIkey)
SecretKey(用于签名认证)
Passphrase(密码短语,用于增加安全性)
此外,还需要了解API的基础URL。对于现货市场,可以使用以下URL:
```
https://www.okex.com/api/spot/v3/
```
2.编写获取订单信息的Python代码
示例中将使用`requests`库来发送HTTP请求,获取指定订单的信息。
```python
importrequests
fromrequests.authimportHTTPBasicAuth
importjson
importhmac
importhashlib
importbase64
importtime
importurllib.parse
配置参数
api_key="your_api_key"
secret_key="your_secret_key".encode()
passphrase="your_passphrase"
base_url='https://www.okex.com/api/spot/v3'
order_id='1234567890'
defget_timestamp():
returnstr(int(time.time()1000))
构造签名
def_sign(message,secret_key):
signature=hmac.new(secret_key,message.encode('utf-8'),hashlib.sha256).digest()
returnbase64.b64encode(signature).decode()
发送请求函数
defsend_request(url,method='GET',params=None):
endpoint=urllib.parse.urljoin(base_url,url)
ifparams:
query_string='&'.join([f"{k}={v}"fork,vinparams.items()])
else:
query_string=''
timestamp=get_timestamp()
message=f'{timestamp}\n{method.upper()}\n/{url.lstrip("https://www.okex.com/")}\n'+(query_stringifmethod=='GET'else'')
signature=_sign(message,secret_key)
headers={
"OK-ACCESS-KEY":api_key,
"OK-ACCESS-SIGN":signature,
"OK-ACCESS-TIMESTAMP":timestamp,
"OK-ACCESS-PASSPHRASE":passphrase
}
response=requests.request(method=method,url=endpoint,headers=headers)
returnjson.loads(response.text)
获取指定订单信息
defget_order(order_id):
endpoint=f'/orders/{order_id}'
returnsend_request(endpoint)
result=get_order(order_id)
print(json.dumps(result,indent=4))
```
以上代码段中,`api_key`、`secret_key`和`passphrase`需要替换为您的实际信息。`get_order()`函数接受订单ID作为参数,并返回该订单的详细信息。
3.运行结果
执行上述脚本后,会根据指定的订单ID从OKEx平台获取并打印对应的订单详情。如果一切正常,则可以看到包含订单状态、价格、数量等在内的具体数据。
通过本文提供的代码示例和指导步骤,您可以轻松地使用Python访问OkexAPI来查询您的订单信息了。