当前位置:首页 资讯 正文

python okex 获取订单

2026-02-12

使用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来查询您的订单信息了。