微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何验证对币安 API 的 cURL 请求?

如何解决如何验证对币安 API 的 cURL 请求?

尝试了解加密。

我想手动创建一个到 Binance 的订单。

我有 API 密钥和秘密,我可以创建请求以获取价格和其他信息,但我不确定如何验证创建订单的请求。

谢谢。

解决方法

您需要为您的参数创建一个签名(使用您的私钥对其进行签名),然后将签名包含在请求中(以及其余参数)。

official docs 有一个使用 openssl 创建签名然后使用 curl 发送请求(包含签名和其他参数)的示例。

[linux]$ echo -n "symbol=LTCBTC&side=BUY&type=LIMIT&timeInForce=GTC&quantity=1&price=0.1&recvWindow=5000&timestamp=1499827319559" | openssl dgst -sha256 -hmac "NhqPtmdSJYdKjVHjA7PZj4Mge3R5YNiP1e3UZjInClVN65XAbvqqM6A7H5fATj0j"
(stdin)= c8db56825ae71d6d79447849e617115f4a920fa2acdcab2b053c4b2838bd6b71
(HMAC SHA256)
[linux]$ curl -H "X-MBX-APIKEY: vmPUZE6mv9SD5VNHk4HlWFsOr6aKE2zvsw0MuIgwCIPy6utIco14y7Ju91duEh8A" -X POST 'https://api.binance.com/api/v3/order' -d 'symbol=LTCBTC&side=BUY&type=LIMIT&timeInForce=GTC&quantity=1&price=0.1&recvWindow=5000&timestamp=1499827319559&signature=c8db56825ae71d6d79447849e617115f4a920fa2acdcab2b053c4b2838bd6b71'

对于 JS 实现,请参见 binance-api-node NPM 包的 source 示例。它使用原生 crypto 包及其 createHmac() 方法。

const signature = crypto
  .createHmac('sha256',apiSecret)
  .update(makeQueryString({ ...data,timestamp }).substr(1))
  .digest('hex')

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?