使用 bash 的 REST API 请求示例

上次更新时间: 2025年3月31日

简介

使用 Kraken REST API 接口,通过 Bourne Again shell (bash) 和一些相关命令(openssl、base64、xxd 等),可以为与 Kraken 市场交互提供一个便捷高效的解决方案(尽管与编译代码相比,这不是最快的实现)。

Bash 和所需的命令在大多数 UNIX、Linux 和 macOS 系统上都已预装,并且可以轻松安装在 Windows 和其他系统上,因此无需使用任何额外的第三方 API 工具或库即可获得所有必需的软件。

使用纯文本编辑器(甚至是 vi 这样的老式编辑器)和几行代码,就可以访问公共市场数据和私人账户数据,还可以在 Kraken 市场上进行下单/取消订单。

示例代码

以下代码展示了调用 REST API Balance 端点的 bash 代码实现:

#!/usr/bin/env bash

# API public/private keys copied from account management web site

api_key='gxTXpC4Ag/N0QPKlYnRhL1qVB2G/HZV1eB2drl7eOXga30dEKoB+EUMs'
api_private='62kRfRX7BI8G8T/jl7clnZ+vSfJt7YmQN23JQkJfHCE6oxecJX4fN4i2RitmRhyFzfJ4efKy2yCo4H068rfv0A=='

# API variables (URL, endpoint, nonce, etc.)

api_host='https://api.kraken.com'
api_endpoint='/0/private/Balance'
api_nonce=`date +%s`
api_post="nonce=$api_nonce"

# Authentication algorithm (SHA256 and HMAC SHA512)

api_private_hex=`echo -n $api_private base64 -d xxd -p tr -d "\n"`
echo -n $api_endpoint > kapi_bash.bin
echo -n $api_nonce$api_post openssl dgst -sha256 -binary >> kapi_bash.bin
api_sign=`cat kapi_bash.bin openssl dgst -binary -sha512 -mac HMAC -macopt hexkey:$api_private_hex base64`

# HTTP request (POST)

curl --header "API-Key: $api_key" --header "API-Sign: $api_sign" --data $api_post $api_host$api_endpoint

匹配的代码也可以下载(作为 kapi_bash.sh 文件)

进一步使用/开发

要检索您自己的账户余额,示例 API 密钥应替换为您自己 Kraken 账户的 API 密钥,并且只需修改 api_endpoint 变量和 api_post 变量(如果需要)即可启用其他 API 端点。

需要更多帮助吗?