- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用来自 ios 的 binance api 进行交易。
总是报错["code": -1022, "msg": Signature for this request is not valid.]
代码:
public override func requestFor(api: APIType) -> NSMutableURLRequest {
let mutableURLRequest = api.mutableRequest
if let key = key, let secret = secret, api.authenticated {
var postData = api.postData
//postData["symbol"] = "BNBBTC"
//postData["timestamp"] = "\(Int(Date().timeIntervalSince1970 * 1000))"
postData["symbol"] = "BNBBTC"
postData["side"] = "SELL"
postData["type"] = "MARKET"
postData["recvWindow"] = "5000"
postData["quantity"] = "0.1"
postData["timestamp"] = "\(Int(Date().timeIntervalSince1970 * 1000))"
if let hmac_sha = try? HMAC(key: secret, variant: .sha256).authenticate(Array(postData.queryString.utf8)) {
let signature = Data(bytes: hmac_sha).toHexString()
postData["signature"] = signature
}
var postDataString = ""
if let data = postData.data, let string = data.string, postData.count > 0 {
postDataString = string
if case .GET = api.httpMethod {
mutableURLRequest.httpBody = data
} else if case .POST = api.httpMethod {
var urlString = mutableURLRequest.url?.absoluteString
urlString?.append("?")
urlString?.append(postData.queryString)
let url = URL(string: urlString!)
mutableURLRequest.url = url
}
api.print("Request Data: \(postDataString)", content: .response)
}
mutableURLRequest.setValue(key, forHTTPHeaderField: "X-MBX-APIKEY")
}
return mutableURLRequest
}
编辑:在使用帐户 api 时,我没有遇到任何签名问题。它给出了预期的响应
最佳答案
我有同样的...问题,我找到了答案。当您生成签名时,测试订单和账户信息的输入是不同的。
帐户信息输入:
字符串输入 = "timestamp=1535623795177";
string apiSecret = "您的 API 密码"
测试限价订单的输入:
string input = "symbol=ETHBTC&side=BUY&recvWindow=6500&type=LIMIT&timeInForce=GTC&quantity=100&price=0.1×tamp=1535623795177";
string apiSecret = "您的 API 密码"
并生成签名工作示例(C#):
private string GenerateSignature(string input, string apiSecret)
{
var encoding = new UTF8Encoding();
byte[] keyByte = encoding.GetBytes(apiSecret);
byte[] messageBytes = encoding.GetBytes(input);
using (var hmacsha256 = new HMACSHA256(keyByte))
{
byte[] hashMessage = hmacsha256.ComputeHash(messageBytes);
return String.Concat(hashMessage.Select(b => b.ToString("x2")));
}
}
关于ios - 交易后订单币安签名错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50326305/
我在 Ember 部分模板的链接上有一个 fadeTo 动画;该动画在鼠标单击链接时激活,其完成方式如下: jQuery('#object').fadeTo(1000, 1); 所以需要1秒才能完成;
我使用的是 debian 7 x64,我想在启动时添加一个自动启动服务,但它不起作用。 命令:“update-rc.d defaults”运行良好并返回给我:update-rc.d:使用基于依赖的启动
我安装了 Debian jessie。 内核版本: Linux srv1 3.16-3-amd64 #1 SMP Debian 3.16.5-1 (2014-10-10) x86_64 GNU/Lin
我在我的服务器 (debian 7.5) 上使用 docker 和 docker compose。 我有 1 个 mysql 容器和 1 个 postgresql 容器用于 2 个应用程序。 当我想为
大家好,我有一个小问题。 让我解释一下我有 3 个目录和 3 个不同的启动脚本。 user/dir1/launch1.sh user/dir2/launch2.sh user/dir3/launc
我需要安装一些包来为在 VB 中运行的 Debian 9 操作系统中的项目准备工作区。我有指令: ---------------------------------------------------
前段时间,我有一台运行 Debian 的新单板计算机,它最终将成为学校项目的“核心”。 现在,我正在使用有线网络和 ssh 访问板载发行版。只要这个东西在我的桌面上就没问题,但当它被内置到机器人的目标
我正在运行 Debian 6.0.7 Squeeze 并安装了 Plymouth 以获得启动画面以掩盖启动时出现的系统调用。我还安装了一个 nVidia 显卡,我已经为其安装了驱动程序并遵循了来自 h
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwar
我是一名优秀的程序员,十分优秀!